/* =====================================================
   DMG Elementor Widgets — v1.2.0
   Full mobile fix + ROI stretch fix + style controls
   ===================================================== */

:root {
  --dmg-navy:        #000F5C;
  --dmg-gold:        #FFCC00;
  --dmg-white:       #FFFFFF;
  --dmg-cream:       #FAFAF7;
  --dmg-dark:        #08090F;
  --dmg-mid:         #6B6F85;
  --dmg-navy-light:  rgba(0,15,92,0.08);
  --dmg-gold-light:  rgba(255,204,0,0.12);
  --dmg-gold-glow:   rgba(255,204,0,0.35);
  --dmg-ease:        cubic-bezier(.22,.68,0,1.2);
}

/* ── BASE ── */
.dmg-widget * { box-sizing: border-box; }
.dmg-widget h1, .dmg-widget h2, .dmg-widget h3, .dmg-widget h4 {
  font-family: 'Syne', sans-serif; line-height: 1.2; margin: 0;
  word-break: normal; overflow-wrap: break-word;
}
.dmg-widget p { margin: 0; font-family: 'DM Sans', sans-serif; overflow-wrap: break-word; }
.dmg-widget img { max-width: 100%; height: auto; display: block; }

/* ── INNER CONTAINER ── */
.dmg-inner {
  max-width: 1180px; margin: 0 auto; padding: 0 24px;
}

/* ── UTILITIES ── */
.dmg-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--dmg-gold-light); color: var(--dmg-navy);
  font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  padding: 6px 14px; border-radius: 100px; border: 1px solid rgba(255,204,0,.4);
  font-family: 'DM Sans', sans-serif; white-space: nowrap;
}
.dmg-tag.dark { background: rgba(255,204,0,.15); border-color: rgba(255,204,0,.4); color: #fff; }

.dmg-gold-line {
  width: 56px; height: 4px; background: var(--dmg-gold);
  border-radius: 2px; margin: 14px 0 18px;
}

/* ── SECTION HEAD ── */
.dmg-s-head { margin-bottom: 52px; }
.dmg-s-head h2 {
  font-size: clamp(1.7rem, 2.8vw, 2.6rem); color: var(--dmg-navy);
  margin-bottom: .35rem; line-height: 1.2; max-width: 700px;
}
.dmg-s-head p { font-size: 1rem; color: var(--dmg-mid); max-width: 540px; line-height: 1.65; }
.dmg-s-head.center { text-align: center; }
.dmg-s-head.center h2 { max-width: 100%; margin-left: auto; margin-right: auto; }
.dmg-s-head.center p  { margin: 0 auto; }
.dmg-s-head.center .dmg-gold-line { margin-left: auto; margin-right: auto; }
.dmg-s-head.dark h2 { color: #fff; }
.dmg-s-head.dark p  { color: rgba(255,255,255,.6); }

/* ── BUTTONS ── */
.dmg-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 26px; border-radius: 100px;
  font-family: 'Syne', sans-serif; font-weight: 600; font-size: .92rem;
  text-decoration: none; cursor: pointer; border: none; white-space: nowrap; line-height: 1;
  transition: transform .25s var(--dmg-ease), box-shadow .25s ease;
}
.dmg-btn:hover { transform: translateY(-3px); text-decoration: none; }
.dmg-btn-gold  { background: var(--dmg-gold); color: var(--dmg-navy); }
.dmg-btn-gold:hover { box-shadow: 0 12px 32px var(--dmg-gold-glow); color: var(--dmg-navy); }
.dmg-btn-outline { background: transparent; color: var(--dmg-navy); border: 2px solid var(--dmg-navy); }
.dmg-btn-outline:hover { box-shadow: 0 8px 24px rgba(0,15,92,.15); }
.dmg-btn-outline-white { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.6); }
.dmg-btn-outline-white:hover { border-color:#fff; box-shadow:0 8px 24px rgba(255,255,255,.15); color:#fff; }
.dmg-btn-ghost {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 20px; border-radius: 100px;
  font-family: 'Syne', sans-serif; font-size: .85rem; font-weight: 600;
  color: var(--dmg-gold); border: 1px solid rgba(255,204,0,.4);
  background: transparent; text-decoration: none; white-space: nowrap;
  transition: background .25s, border-color .25s, color .25s;
}
.dmg-btn-ghost:hover { background: var(--dmg-gold); color: var(--dmg-navy); border-color: var(--dmg-gold); }

/* ── REVEAL ── */
.dmg-reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.dmg-reveal.dmg-in { opacity: 1; transform: none; }
.dmg-reveal-d1 { transition-delay: .1s; }
.dmg-reveal-d2 { transition-delay: .2s; }
.dmg-reveal-d3 { transition-delay: .3s; }
.dmg-reveal-d4 { transition-delay: .4s; }

/* ===========================================
   HERO  — text left, video/image right
   =========================================== */
.dmg-hero {
  background: var(--dmg-navy); position: relative; overflow: hidden;
  padding: 90px 0 80px; font-family: 'DM Sans', sans-serif;
}
.dmg-hero::before {
  content:''; position:absolute; top:-200px; right:-200px;
  width:700px; height:700px;
  background: radial-gradient(circle, rgba(255,204,0,.18) 0%, transparent 70%);
  border-radius:50%; pointer-events:none; z-index:0;
}
.dmg-hero::after {
  content:''; position:absolute; bottom:-150px; left:-150px;
  width:500px; height:500px;
  background: radial-gradient(circle, rgba(255,204,0,.1) 0%, transparent 70%);
  border-radius:50%; pointer-events:none; z-index:0;
}
.dmg-hero-inner {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 56px; align-items: center;
  position: relative; z-index: 2;
  max-width: 1180px; margin: 0 auto; padding: 0 24px;
}
.dmg-hero-text { max-width: 560px; }
.dmg-hero-kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.dmg-hero-dot { width:6px; height:6px; background:var(--dmg-gold); border-radius:50%; flex-shrink:0; }
.dmg-hero-kicker span {
  font-size:.78rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.65); font-family:'DM Sans',sans-serif;
}
.dmg-hero-text h1 {
  font-size: clamp(2rem, 3.8vw, 3.6rem); color: #fff;
  margin-bottom: 20px; font-weight: 800; line-height: 1.15; word-break: normal;
}
.dmg-hero-text h1 em {
  font-style: normal;
  background: linear-gradient(90deg, var(--dmg-gold), #fff176);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.dmg-hero-desc {
  font-size: 1.02rem; color: rgba(255,255,255,.72);
  line-height: 1.72; margin-bottom: 32px; max-width: 480px; word-break: normal;
}
.dmg-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }

/* right side */
.dmg-hero-right {
  display: flex; flex-direction: column;
  justify-content: center; align-items: center; min-width: 0;
}
/* video */
.dmg-hero-video-wrap {
  width: 100%; border-radius: 20px; overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.5); border: 2px solid rgba(255,204,0,.25);
}
.dmg-hero-video-ratio {
  position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;
}
.dmg-hero-video-ratio iframe {
  position: absolute; top:0; left:0; width:100%; height:100%; border:none;
}
.dmg-hero-video-label {
  background: rgba(255,255,255,.07); color: rgba(255,255,255,.8);
  font-size: .82rem; font-weight:500; text-align:center; padding:10px 16px;
  font-family:'DM Sans',sans-serif; letter-spacing:.04em;
  display:flex; align-items:center; justify-content:center; gap:7px;
}
.dmg-hero-video-label i { color: var(--dmg-gold); }
/* image */
.dmg-hero-img-wrap { position:relative; display:flex; justify-content:center; width:100%; }
.dmg-hero-img-blob { position:relative; z-index:2; }
.dmg-hero-img-blob img {
  width:420px; max-width:100%;
  border-radius:40% 60% 55% 45%/45% 50% 50% 55%;
  border:6px solid rgba(255,204,0,.3);
  animation:dmgBlobFloat 8s ease-in-out infinite;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.4));
}
@keyframes dmgBlobFloat {
  0%,100%{border-radius:40% 60% 55% 45%/45% 50% 50% 55%;transform:translateY(0);}
  50%    {border-radius:55% 45% 40% 60%/55% 45% 55% 45%;transform:translateY(-18px);}
}
.dmg-hero-badge {
  position:absolute; background:var(--dmg-gold); color:var(--dmg-navy);
  font-family:'Syne',sans-serif; font-weight:700;
  padding:12px 16px; border-radius:14px;
  box-shadow:0 12px 32px rgba(255,204,0,.35); z-index:3;
}
.dmg-hero-badge.b1{top:10%;right:-10px;}
.dmg-hero-badge.b2{bottom:15%;left:-10px;}
.dmg-hero-badge .big{font-size:1.5rem;display:block;}
.dmg-hero-badge .sm {font-size:.7rem;font-weight:500;opacity:.8;}

/* ===========================================
   CLIENTS
   =========================================== */
.dmg-clients { background:#fff; padding:56px 0; }
.dmg-clients-label {
  text-align:center; font-size:.76rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--dmg-mid); margin-bottom:32px; font-family:'DM Sans',sans-serif;
}
.dmg-clients-strip { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:16px; }
.dmg-client-chip {
  display:flex; align-items:center; justify-content:center; padding:12px 22px;
  border:1px solid rgba(0,15,92,.1); border-radius:100px; background:var(--dmg-cream);
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.dmg-client-chip img { height:32px; width:auto; max-width:90px; filter:grayscale(1) opacity(.55); transition:filter .3s; }
.dmg-client-chip:hover{transform:translateY(-4px);border-color:var(--dmg-gold);box-shadow:0 8px 24px var(--dmg-gold-glow);}
.dmg-client-chip:hover img{filter:grayscale(0) opacity(1);}

/* ===========================================
   STATS
   =========================================== */
.dmg-stats-row {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:2px; background:rgba(0,15,92,.08); border-radius:20px; overflow:hidden;
}
.dmg-stat-box {
  background:#fff; padding:44px 20px; text-align:center;
  transition:background .3s; position:relative;
}
.dmg-stat-box::after {
  content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:0; height:3px; background:var(--dmg-gold); transition:width .4s var(--dmg-ease); border-radius:2px;
}
.dmg-stat-box:hover{background:var(--dmg-navy);}
.dmg-stat-box:hover::after{width:60%;}
.dmg-stat-box:hover .dmg-s-num,
.dmg-stat-box:hover .dmg-s-unit,
.dmg-stat-box:hover .dmg-s-lbl{color:#fff;}
.dmg-stat-icon{font-size:1.5rem;color:var(--dmg-gold);margin-bottom:12px;}
.dmg-s-num{font-family:'Syne',sans-serif;font-size:2.6rem;font-weight:800;color:var(--dmg-navy);line-height:1;transition:color .3s;display:inline;}
.dmg-s-unit{font-family:'Syne',sans-serif;font-size:1.2rem;font-weight:700;color:var(--dmg-gold);transition:color .3s;}
.dmg-s-lbl{font-size:.85rem;color:var(--dmg-mid);margin-top:8px;transition:color .3s;font-family:'DM Sans',sans-serif;line-height:1.4;}

/* ===========================================
   SERVICES CARDS
   =========================================== */
.dmg-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.dmg-svc-card {
  background:var(--dmg-cream); border:1px solid rgba(0,15,92,.08);
  border-radius:20px; padding:32px 26px;
  transition:transform .3s var(--dmg-ease),box-shadow .3s,border-color .3s,background .3s;
  position:relative; overflow:hidden; display:flex; flex-direction:column;
}
.dmg-svc-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--dmg-navy),var(--dmg-gold));
  transform:scaleX(0); transform-origin:left; transition:transform .4s var(--dmg-ease);
}
.dmg-svc-card:hover{transform:translateY(-8px);box-shadow:0 24px 48px rgba(0,15,92,.1);border-color:transparent;background:#fff;}
.dmg-svc-card:hover::before{transform:scaleX(1);}
.dmg-svc-num{font-family:'Syne',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--dmg-gold);margin-bottom:12px;display:block;}
.dmg-svc-ico{width:50px;height:50px;background:var(--dmg-navy);color:var(--dmg-gold);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:16px;transition:transform .3s var(--dmg-ease);flex-shrink:0;}
.dmg-svc-card:hover .dmg-svc-ico{transform:rotate(8deg) scale(1.1);}
.dmg-svc-card h3{font-size:1.05rem;color:var(--dmg-navy);margin-bottom:8px;line-height:1.25;}
.dmg-svc-card p {font-size:.88rem;color:var(--dmg-mid);line-height:1.65;margin-bottom:16px;flex:1;}
.dmg-svc-link{font-family:'Syne',sans-serif;font-size:.83rem;font-weight:600;color:var(--dmg-navy);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .2s,color .2s;margin-top:auto;}
.dmg-svc-link:hover{gap:10px;color:var(--dmg-gold);text-decoration:none;}

/* ===========================================
   WEBDEV DARK
   =========================================== */
.dmg-webdev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.dmg-wd-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px 26px;transition:background .3s,border-color .3s,transform .3s var(--dmg-ease);text-align:center;display:flex;flex-direction:column;align-items:center;}
.dmg-wd-card:hover{background:rgba(255,255,255,.1);border-color:var(--dmg-gold);transform:translateY(-8px);}
.dmg-wd-ico{font-size:2rem;color:var(--dmg-gold);margin-bottom:16px;transition:transform .3s var(--dmg-ease);}
.dmg-wd-card:hover .dmg-wd-ico{transform:scale(1.15);}
.dmg-wd-card h3{font-size:1.05rem;color:#fff;margin-bottom:8px;line-height:1.25;}
.dmg-wd-card p {font-size:.87rem;color:rgba(255,255,255,.55);margin-bottom:20px;line-height:1.65;flex:1;}

/* ===========================================
   CONTENT CREATION
   =========================================== */
.dmg-content-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.dmg-ct-card{background:#fff;border-radius:20px;padding:32px 22px;text-align:center;border:1px solid rgba(0,15,92,.07);transition:transform .3s var(--dmg-ease),box-shadow .3s;display:flex;flex-direction:column;align-items:center;}
.dmg-ct-card:hover{transform:translateY(-10px) rotate(-1deg);box-shadow:0 24px 48px rgba(0,15,92,.1);}
.dmg-ct-ico-wrap{width:62px;height:62px;margin:0 auto 16px;background:var(--dmg-navy-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--dmg-navy);transition:background .3s,color .3s;flex-shrink:0;}
.dmg-ct-card:hover .dmg-ct-ico-wrap{background:var(--dmg-gold);color:var(--dmg-navy);}
.dmg-ct-card h3{font-size:1rem;color:var(--dmg-navy);margin-bottom:8px;line-height:1.25;}
.dmg-ct-card p {font-size:.85rem;color:var(--dmg-mid);margin-bottom:14px;line-height:1.6;flex:1;}

/* ===========================================
   SPECIALIZED CARDS
   =========================================== */
.dmg-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.dmg-sp-card{border-radius:20px;padding:40px 32px;position:relative;overflow:hidden;transition:transform .3s var(--dmg-ease),box-shadow .3s;display:flex;flex-direction:column;}
.dmg-sp-card:hover{transform:translateY(-8px);box-shadow:0 24px 56px rgba(0,15,92,.12);}
.dmg-sp-card.c1{background:var(--dmg-navy);}
.dmg-sp-card.c2{background:var(--dmg-cream);border:1px solid rgba(0,15,92,.1);}
.dmg-sp-card.c3{background:var(--dmg-gold);}
.dmg-sp-card.c1 h3{color:#fff;}.dmg-sp-card.c1 p{color:rgba(255,255,255,.65);}
.dmg-sp-card.c2 h3{color:var(--dmg-navy);}.dmg-sp-card.c2 p{color:var(--dmg-mid);}
.dmg-sp-card.c3 h3,.dmg-sp-card.c3 p{color:var(--dmg-navy);}
.dmg-sp-ico{font-size:2rem;margin-bottom:20px;display:block;}
.dmg-sp-card.c1 .dmg-sp-ico{color:var(--dmg-gold);}
.dmg-sp-card.c2 .dmg-sp-ico,.dmg-sp-card.c3 .dmg-sp-ico{color:var(--dmg-navy);}
.dmg-sp-card h3{font-size:1.2rem;margin-bottom:10px;line-height:1.25;}
.dmg-sp-card p {font-size:.9rem;line-height:1.7;margin-bottom:22px;flex:1;}

/* ===========================================
   WHY CHOOSE
   =========================================== */
.dmg-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.dmg-why-card{background:#fff;border-radius:20px;padding:28px 24px;display:flex;gap:16px;border:1px solid rgba(0,15,92,.07);transition:transform .3s var(--dmg-ease),box-shadow .3s;align-items:flex-start;}
.dmg-why-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,15,92,.09);}
.dmg-why-icon-wrap{flex-shrink:0;width:50px;height:50px;background:var(--dmg-navy);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--dmg-gold);transition:transform .3s var(--dmg-ease);}
.dmg-why-card:hover .dmg-why-icon-wrap{transform:rotate(8deg);}
.dmg-why-card h3{font-size:1rem;color:var(--dmg-navy);margin-bottom:6px;line-height:1.25;}
.dmg-why-card p {font-size:.86rem;color:var(--dmg-mid);line-height:1.65;}

/* ===========================================
   PROCESS
   =========================================== */
.dmg-process-row{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative;}
.dmg-process-row::before{content:'';position:absolute;top:30px;left:8%;right:8%;height:2px;background:rgba(255,204,0,.2);z-index:0;}
.dmg-p-step{text-align:center;position:relative;z-index:1;padding:0 6px;}
.dmg-p-num{width:60px;height:60px;background:rgba(255,255,255,.08);border:2px solid rgba(255,204,0,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-family:'Syne',sans-serif;font-size:1rem;font-weight:700;color:var(--dmg-gold);transition:background .3s,border-color .3s,transform .3s var(--dmg-ease);}
.dmg-p-step:hover .dmg-p-num{background:var(--dmg-gold);color:var(--dmg-navy);border-color:var(--dmg-gold);transform:scale(1.1);}
.dmg-p-step h4{font-size:.85rem;color:#fff;margin-bottom:6px;line-height:1.3;}
.dmg-p-step p {font-size:.75rem;color:rgba(255,255,255,.5);line-height:1.5;}

/* ===========================================
   VIDEO SECTION
   =========================================== */
.dmg-video-wrap{max-width:860px;margin:0 auto;border-radius:24px;overflow:hidden;box-shadow:0 32px 80px rgba(0,15,92,.18);}
.dmg-video-ratio{padding-bottom:56.25%;height:0;position:relative;}
.dmg-video-ratio iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;}
.dmg-video-cta{text-align:center;margin-top:36px;}

/* ===========================================
   FEATURES
   =========================================== */
.dmg-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.dmg-feat-card{border-radius:20px;padding:32px 26px;background:var(--dmg-cream);border:1px solid rgba(0,15,92,.07);text-align:center;transition:transform .3s var(--dmg-ease),box-shadow .3s;display:flex;flex-direction:column;align-items:center;}
.dmg-feat-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,15,92,.09);}
.dmg-feat-ico{font-size:1.9rem;color:var(--dmg-navy);margin-bottom:14px;transition:transform .3s var(--dmg-ease),color .3s;}
.dmg-feat-card:hover .dmg-feat-ico{transform:rotate(15deg);color:var(--dmg-gold);}
.dmg-feat-card h3{font-size:1.02rem;color:var(--dmg-navy);margin-bottom:8px;line-height:1.25;}
.dmg-feat-card p {font-size:.86rem;color:var(--dmg-mid);line-height:1.6;}

/* ===========================================
   INDUSTRIES
   =========================================== */
.dmg-ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.dmg-ind-card{background:#fff;border-radius:16px;padding:26px 16px;text-align:center;border:1px solid rgba(0,15,92,.07);transition:transform .3s var(--dmg-ease),border-color .3s,box-shadow .3s;}
.dmg-ind-card:hover{transform:translateY(-8px);border-color:var(--dmg-gold);box-shadow:0 16px 36px var(--dmg-gold-glow);}
.dmg-ind-ico{font-size:1.7rem;color:var(--dmg-navy);margin-bottom:10px;transition:color .3s;}
.dmg-ind-card:hover .dmg-ind-ico{color:var(--dmg-gold);}
.dmg-ind-card h4{font-size:.88rem;color:var(--dmg-navy);line-height:1.3;}

/* ===========================================
   TECH STACK
   =========================================== */
.dmg-tech-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;}
.dmg-tech-pill{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:18px 8px;text-align:center;transition:background .3s,border-color .3s,transform .3s var(--dmg-ease);}
.dmg-tech-pill:hover{background:rgba(255,204,0,.15);border-color:rgba(255,204,0,.5);transform:translateY(-6px);}
.dmg-tech-pill i{font-size:1.7rem;color:var(--dmg-gold);margin-bottom:7px;display:block;}
.dmg-tech-pill span{font-size:.7rem;color:rgba(255,255,255,.7);font-weight:500;line-height:1.3;display:block;}

/* ===========================================
   TESTIMONIALS
   =========================================== */
.dmg-testi-wrap{max-width:740px;margin:0 auto;}
.dmg-testi-card{background:#fff;border-radius:24px;padding:48px 40px;box-shadow:0 24px 56px rgba(0,15,92,.08);position:relative;}
.dmg-testi-quote{position:absolute;top:20px;left:28px;font-size:4.5rem;line-height:1;color:var(--dmg-gold);opacity:.2;font-family:Georgia,serif;}
.dmg-testi-avatar{width:62px;height:62px;background:var(--dmg-navy);color:var(--dmg-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-size:1rem;font-weight:700;margin:0 auto 12px;}
.dmg-testi-stars{color:var(--dmg-gold);text-align:center;margin-bottom:18px;font-size:1rem;}
.dmg-testi-text{font-size:1rem;color:#444;text-align:center;font-style:italic;line-height:1.75;margin-bottom:22px;word-break:normal;}
.dmg-testi-name{font-family:'Syne',sans-serif;font-weight:700;color:var(--dmg-navy);text-align:center;margin-bottom:4px;font-size:.95rem;}
.dmg-testi-role{font-size:.82rem;color:var(--dmg-mid);text-align:center;}
.dmg-testi-nav{display:flex;justify-content:center;gap:12px;margin-top:24px;}
.dmg-testi-btn{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid rgba(0,15,92,.15);color:var(--dmg-navy);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;}
.dmg-testi-btn:hover{background:var(--dmg-navy);color:var(--dmg-gold);border-color:var(--dmg-navy);transform:translateY(-3px);}

/* ===========================================
   ROI METRICS  ← Fixed: proper card sizing
   =========================================== */
.dmg-roi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: start; /* prevent cards from stretching to equal height */
}
.dmg-roi-card {
  background: var(--dmg-cream);
  border-radius: 20px;
  padding: 32px 24px;
  text-align: center;
  border: 1px solid rgba(0,15,92,.07);
  transition: transform .3s var(--dmg-ease), box-shadow .3s;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%; /* don't stretch beyond column */
}
.dmg-roi-card:hover { transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,15,92,.09); }
.dmg-roi-counter-wrap { display:flex; align-items:baseline; justify-content:center; gap:2px; margin-bottom:4px; }
.dmg-roi-num  { font-family:'Syne',sans-serif;font-size:2.4rem;font-weight:800;color:var(--dmg-navy);line-height:1; }
.dmg-roi-suf  { font-family:'Syne',sans-serif;font-size:1.3rem;font-weight:700;color:var(--dmg-gold); }
.dmg-roi-title{ font-size:.88rem;font-weight:600;color:var(--dmg-navy);margin:10px 0 14px;font-family:'Syne',sans-serif;line-height:1.3; }
.dmg-pbar     { height:5px;background:rgba(0,15,92,.08);border-radius:3px;overflow:hidden;margin-bottom:12px;width:100%; }
.dmg-pfill    { height:100%;background:linear-gradient(90deg,var(--dmg-navy),var(--dmg-gold));border-radius:3px;width:0;transition:width 1.5s ease; }
.dmg-roi-desc { font-size:.8rem;color:var(--dmg-mid);line-height:1.55;word-break:normal; }

/* ===========================================
   CASE STUDY
   =========================================== */
.dmg-cs-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden;}
.dmg-cs-header{padding:44px 40px;background:rgba(255,204,0,.12);border-bottom:1px solid rgba(255,255,255,.08);}
.dmg-cs-header h3{font-size:1.5rem;color:#fff;margin-bottom:8px;line-height:1.25;}
.dmg-cs-header p{color:rgba(255,255,255,.6);}
.dmg-cs-body{padding:40px;}
.dmg-cs-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.dmg-cs-col h4{font-size:.9rem;color:var(--dmg-gold);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(255,204,0,.2);}
.dmg-cs-col ul{list-style:none;padding:0;}
.dmg-cs-col li{padding:6px 0 6px 18px;position:relative;font-size:.84rem;color:rgba(255,255,255,.75);border-bottom:1px solid rgba(255,255,255,.05);line-height:1.5;}
.dmg-cs-col li::before{content:'→';position:absolute;left:0;color:var(--dmg-gold);font-size:.78rem;}

/* ===========================================
   COMPARISON TABLE
   =========================================== */
.dmg-cmp-wrap{overflow-x:auto;border-radius:20px;box-shadow:0 16px 40px rgba(0,15,92,.09);}
.dmg-cmp-table{width:100%;min-width:480px;border-collapse:collapse;background:#fff;}
.dmg-cmp-table th{padding:18px 24px;text-align:left;font-family:'Syne',sans-serif;font-size:.9rem;background:var(--dmg-navy);color:#fff;}
.dmg-cmp-table th:not(:first-child){text-align:center;}
.dmg-cmp-table td{padding:15px 24px;border-bottom:1px solid rgba(0,15,92,.06);font-size:.9rem;color:#333;}
.dmg-cmp-table td:not(:first-child){text-align:center;}
.dmg-cmp-table tr:last-child td{border-bottom:none;}
.dmg-cmp-table tr:hover td{background:var(--dmg-navy-light);}
.dmg-chk{color:var(--dmg-gold);font-size:1.1rem;}
.dmg-crs{color:#ccc;font-size:1.1rem;}

/* ===========================================
   AWARDS
   =========================================== */
.dmg-awards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.dmg-aw-card{text-align:center;padding:36px 22px;border-radius:20px;background:var(--dmg-cream);border:1px solid rgba(0,15,92,.07);position:relative;overflow:hidden;transition:transform .3s var(--dmg-ease),border-color .3s,box-shadow .3s;display:flex;flex-direction:column;align-items:center;}
.dmg-aw-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--dmg-gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--dmg-ease);}
.dmg-aw-card:hover{transform:translateY(-8px);border-color:rgba(255,204,0,.3);box-shadow:0 20px 40px rgba(0,15,92,.08);}
.dmg-aw-card:hover::after{transform:scaleX(1);}
.dmg-aw-ico{font-size:1.9rem;color:var(--dmg-gold);margin-bottom:12px;}
.dmg-aw-card h4{font-size:.95rem;color:var(--dmg-navy);margin-bottom:8px;line-height:1.3;}
.dmg-aw-card p {font-size:.82rem;color:var(--dmg-mid);line-height:1.55;}

/* ===========================================
   FAQ
   =========================================== */
.dmg-faq-list{max-width:760px;margin:0 auto;}
.dmg-fq{background:#fff;border-radius:16px;margin-bottom:10px;border:1px solid rgba(0,15,92,.07);overflow:hidden;transition:box-shadow .3s;}
.dmg-fq:hover{box-shadow:0 8px 24px rgba(0,15,92,.07);}
.dmg-fq-q{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:12px;}
.dmg-fq-q h4{font-size:.93rem;color:var(--dmg-navy);font-family:'Syne',sans-serif;line-height:1.3;margin:0;}
.dmg-fq-icon{width:30px;height:30px;flex-shrink:0;background:var(--dmg-navy-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.76rem;color:var(--dmg-navy);transition:transform .3s,background .3s;}
.dmg-fq.active .dmg-fq-icon{transform:rotate(180deg);background:var(--dmg-gold);}
.dmg-fq-a{max-height:0;overflow:hidden;padding:0 24px;font-size:.88rem;color:var(--dmg-mid);line-height:1.7;transition:max-height .4s ease,padding .4s ease;}
.dmg-fq.active .dmg-fq-a{max-height:300px;padding:0 24px 18px;}

/* ===========================================
   CTA
   =========================================== */
.dmg-cta-section{background:linear-gradient(135deg,var(--dmg-navy) 0%,#001880 50%,var(--dmg-navy) 100%);position:relative;overflow:hidden;text-align:center;padding:100px 0;}
.dmg-cta-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:900px;height:900px;background:radial-gradient(circle,rgba(255,204,0,.12) 0%,transparent 65%);pointer-events:none;}
.dmg-cta-inner{position:relative;z-index:2;max-width:680px;margin:0 auto;padding:0 24px;}
.dmg-cta-inner h2{font-size:clamp(1.8rem,3.2vw,2.9rem);color:#fff;margin-bottom:16px;line-height:1.2;}
.dmg-cta-inner p {font-size:1rem;color:rgba(255,255,255,.7);margin-bottom:34px;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.72;}
.dmg-cta-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}

/* ===========================================
   FOUR-GRID + STEP-ROW  ← Fixed stretch
   =========================================== */
.dmg-four-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: start;
}
.dmg-four-card {
  background: var(--dmg-cream);
  border-radius: 16px;
  padding: 28px 20px;
  text-align: center;
  border: 1px solid rgba(0,15,92,.07);
  transition: transform .3s var(--dmg-ease), box-shadow .3s;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.dmg-four-card:hover{transform:translateY(-8px);box-shadow:0 16px 36px rgba(0,15,92,.09);}
.dmg-four-card.dark-bg{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1);}
.dmg-four-card.dark-bg:hover{border-color:rgba(255,204,0,.4);background:rgba(255,255,255,.12);}
.dmg-four-ico{font-size:1.6rem;color:var(--dmg-navy);margin-bottom:12px;transition:color .3s,transform .3s var(--dmg-ease);}
.dmg-four-card.dark-bg .dmg-four-ico{color:var(--dmg-gold);}
.dmg-four-card:hover .dmg-four-ico{transform:scale(1.15);}
.dmg-four-card h4{font-size:.93rem;color:var(--dmg-navy);margin-bottom:8px;line-height:1.25;}
.dmg-four-card.dark-bg h4{color:#fff;}
.dmg-four-card p {font-size:.82rem;color:var(--dmg-mid);line-height:1.6;}
.dmg-four-card.dark-bg p{color:rgba(255,255,255,.55);}

/* numbered steps */
.dmg-step-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: start;
}
.dmg-st-step{text-align:center;display:flex;flex-direction:column;align-items:center;}
.dmg-st-num{width:52px;height:52px;background:var(--dmg-navy);color:var(--dmg-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-size:.95rem;font-weight:700;margin:0 auto 14px;transition:background .3s var(--dmg-ease),transform .3s var(--dmg-ease);flex-shrink:0;}
.dmg-st-step:hover .dmg-st-num{background:var(--dmg-gold);color:var(--dmg-navy);transform:rotate(10deg);}
.dmg-st-step h4{font-size:.93rem;color:var(--dmg-navy);margin-bottom:6px;line-height:1.25;}
.dmg-st-step p {font-size:.82rem;color:var(--dmg-mid);line-height:1.6;}

/* =====================================================
   RESPONSIVE BREAKPOINTS
   ===================================================== */

/* ── 1200px ── */
@media (max-width:1200px){
  .dmg-tech-grid{grid-template-columns:repeat(6,1fr);}
  .dmg-roi-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-awards-grid{grid-template-columns:repeat(2,1fr);}
}

/* ── Tablet 1024px ── */
@media (max-width:1024px){
  .dmg-hero-inner{gap:40px;}
  .dmg-services-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-webdev-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-spec-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-features-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-content-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-ind-grid{grid-template-columns:repeat(4,1fr);}
  .dmg-four-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-step-row{grid-template-columns:repeat(2,1fr);}
  .dmg-roi-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-awards-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-stats-row{grid-template-columns:repeat(2,1fr);}
  .dmg-why-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-tech-grid{grid-template-columns:repeat(4,1fr);}
  .dmg-process-row{grid-template-columns:repeat(3,1fr);}
  .dmg-process-row::before{display:none;}
  .dmg-cs-cols{grid-template-columns:1fr;gap:20px;}
  .dmg-cs-body{padding:24px;}
}

/* ── Mobile 768px ── */
@media (max-width:768px){
  /* HERO — stacked */
  .dmg-hero{padding:60px 0 50px;}
  .dmg-hero-inner{grid-template-columns:1fr;text-align:center;gap:32px;padding:0 18px;}
  .dmg-hero-text{max-width:100%;}
  .dmg-hero-desc{margin:0 auto 28px;max-width:100%;}
  .dmg-hero-btns{justify-content:center;}
  .dmg-hero-right{width:100%;}
  .dmg-hero-video-wrap{max-width:480px;margin:0 auto;}
  .dmg-hero-img-blob img{width:260px;}
  .dmg-hero-badge.b1{right:0;}.dmg-hero-badge.b2{left:0;}

  /* section head */
  .dmg-s-head{margin-bottom:36px;}
  .dmg-s-head h2{font-size:clamp(1.5rem,5vw,2rem);}

  /* 2-col on mobile for medium grids */
  .dmg-services-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-webdev-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-features-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-content-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-four-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-step-row{grid-template-columns:repeat(2,1fr);}
  .dmg-roi-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-awards-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-stats-row{grid-template-columns:repeat(2,1fr);}
  .dmg-ind-grid{grid-template-columns:repeat(3,1fr);}
  .dmg-tech-grid{grid-template-columns:repeat(3,1fr);}

  /* 1-col for complex cards */
  .dmg-spec-grid{grid-template-columns:1fr;}
  .dmg-why-grid{grid-template-columns:1fr;}

  /* process: 2 cols */
  .dmg-process-row{grid-template-columns:repeat(2,1fr);gap:16px;}

  /* testimonial */
  .dmg-testi-card{padding:36px 24px;}

  /* CTA */
  .dmg-cta-section{padding:70px 0;}
}

/* ── Small Mobile 480px ── */
@media (max-width:480px){
  /* all 1 col */
  .dmg-services-grid{grid-template-columns:1fr;}
  .dmg-webdev-grid{grid-template-columns:1fr;}
  .dmg-features-grid{grid-template-columns:1fr;}
  .dmg-content-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-four-grid{grid-template-columns:1fr;}
  .dmg-step-row{grid-template-columns:1fr;}
  .dmg-roi-grid{grid-template-columns:1fr;}
  .dmg-awards-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-stats-row{grid-template-columns:1fr;}
  .dmg-ind-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-tech-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-process-row{grid-template-columns:repeat(2,1fr);gap:12px;}
  .dmg-spec-grid{grid-template-columns:1fr;}
  .dmg-why-grid{grid-template-columns:1fr;}

  /* text sizing */
  .dmg-hero-text h1{font-size:1.85rem;}
  .dmg-s-head h2{font-size:1.5rem;}

  /* hero padding */
  .dmg-hero{padding:50px 0 40px;}
  .dmg-hero-inner{padding:0 14px;gap:24px;}
  .dmg-hero-video-wrap{max-width:100%;}

  /* stack buttons */
  .dmg-hero-btns{flex-direction:column;align-items:center;}
  .dmg-btn{width:100%;max-width:260px;justify-content:center;font-size:.85rem;padding:12px 20px;}
  .dmg-cta-btns{flex-direction:column;align-items:center;}

  /* testimonial */
  .dmg-testi-card{padding:28px 16px;}
  .dmg-testi-text{font-size:.92rem;}

  /* case study */
  .dmg-cs-header{padding:24px 16px;}
  .dmg-cs-body{padding:16px;}
  .dmg-cs-cols{grid-template-columns:1fr;}

  /* stats */
  .dmg-stat-box{padding:32px 16px;}

  /* section padding reduction */
  .dmg-inner{padding:0 16px;}
  .dmg-s-head{margin-bottom:28px;}

  /* four grid: service cards get reduced padding */
  .dmg-four-card,.dmg-roi-card,.dmg-svc-card,.dmg-feat-card,.dmg-aw-card{padding:24px 16px;}
}

/* ── Very Small 360px ── */
@media (max-width:360px){
  .dmg-hero-text h1{font-size:1.65rem;}
  .dmg-s-head h2{font-size:1.35rem;}
  .dmg-content-grid{grid-template-columns:1fr;}
  .dmg-ind-grid{grid-template-columns:repeat(2,1fr);}
  .dmg-awards-grid{grid-template-columns:1fr;}
}
