/*
Theme Name: DGM Experts
Theme URI: https://dgmexperts.in
Author: Ashtam Singhal
Author URI: https://ashtamsinghal.in
Description: DGM Experts — Performance Marketing Agency Theme by Ashtam Singhal. Dark/Light mode, real SVG brand icons, service packages, fully mobile responsive.
Version: 3.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: dgm
*/

/* ================================================================
   VARIABLES
================================================================ */
:root {
  --bg:        #07070e;
  --bg2:       #0c0c1a;
  --bg3:       #101022;
  --surface:   #12121f;
  --surface2:  #18182e;
  --border:    rgba(255,255,255,0.06);
  --border2:   rgba(255,255,255,0.12);
  --text:      #f0f0ff;
  --muted:     rgba(240,240,255,0.42);
  --muted2:    rgba(240,240,255,0.68);
  --accent:    #00d4ff;
  --accent2:   #7c2dff;
  --accent3:   #ff5c35;
  --grad:      linear-gradient(135deg,#00d4ff 0%,#7c2dff 100%);
  --grad2:     linear-gradient(135deg,#7c2dff 0%,#00d4ff 100%);
  --glow:      0 0 48px rgba(0,212,255,0.18);
  --shadow:    0 20px 60px rgba(0,0,0,0.55);
  --nav-bg:    rgba(7,7,14,0.92);
  --card:      rgba(255,255,255,0.022);
  --r:         14px;
  --r2:        22px;
  --tr:        0.4s cubic-bezier(0.4,0,0.2,1);
  --pad:       clamp(1.2rem,5vw,4.5rem);
}
[data-theme="light"] {
  --bg:        #f2f0ff;
  --bg2:       #e8e4ff;
  --bg3:       #ffffff;
  --surface:   #ffffff;
  --surface2:  #f0edff;
  --border:    rgba(0,0,0,0.07);
  --border2:   rgba(0,0,0,0.13);
  --text:      #0a0820;
  --muted:     rgba(10,8,32,0.45);
  --muted2:    rgba(10,8,32,0.72);
  --accent:    #5500dd;
  --accent2:   #0088cc;
  --accent3:   #dd3300;
  --grad:      linear-gradient(135deg,#5500dd 0%,#0088cc 100%);
  --grad2:     linear-gradient(135deg,#0088cc 0%,#5500dd 100%);
  --glow:      0 0 48px rgba(85,0,221,0.14);
  --shadow:    0 20px 60px rgba(0,0,0,0.1);
  --nav-bg:    rgba(242,240,255,0.94);
  --card:      rgba(0,0,0,0.022);
}

/* ================================================================
   RESET + BASE
================================================================ */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-tap-highlight-color:transparent; font-size:16px; }
body {
  font-family:'DM Sans',sans-serif; background:var(--bg); color:var(--text);
  transition:background var(--tr),color var(--tr); overflow-x:hidden; line-height:1.6;
}
a { text-decoration:none; color:inherit; }
button { font-family:'DM Sans',sans-serif; border:none; outline:none; cursor:pointer; }
ul { list-style:none; }
img { max-width:100%; height:auto; display:block; }
strong { font-weight:600; }

/* ================================================================
   CUSTOM CURSOR — desktop only
================================================================ */
.dgm-cur,.dgm-cur-r {
  position:fixed; pointer-events:none; border-radius:50%;
  z-index:9999; transition:transform 0.15s ease; display:none;
}
@media (hover:hover) and (pointer:fine) {
  body { cursor:none; }
  .dgm-cur   { display:block; width:10px; height:10px; background:var(--accent); mix-blend-mode:difference; }
  .dgm-cur-r { display:block; width:34px; height:34px; border:1.5px solid var(--accent); opacity:.5; z-index:9998; }
}

/* ================================================================
   SCROLL PROGRESS BAR
================================================================ */
.dgm-spb {
  position:fixed; top:0; left:0; height:3px; z-index:600;
  background:var(--grad); width:0%; transition:width .08s linear;
}

/* ================================================================
   NAVBAR
================================================================ */
.dgm-nav {
  position:fixed; top:0; left:0; right:0; z-index:500;
  height:68px; padding:0 var(--pad);
  display:flex; align-items:center; justify-content:space-between;
  background:var(--nav-bg); backdrop-filter:blur(28px) saturate(1.5);
  border-bottom:1px solid var(--border);
  transition:background var(--tr),transform .38s ease,border-color var(--tr);
}
.dgm-nav.scrolled { border-color:var(--border2); }

.dgm-logo {
  font-family:'Syne',sans-serif; font-weight:800;
  font-size:clamp(1.1rem,2.5vw,1.4rem); letter-spacing:-.5px; flex-shrink:0;
}
.dgm-logo b { color:var(--accent); }

.dgm-nav-links { display:flex; gap:clamp(.8rem,1.8vw,2rem); align-items:center; }
.dgm-nav-links a {
  font-size:.87rem; font-weight:500; color:var(--muted2);
  position:relative; padding:4px 0; transition:color .28s; white-space:nowrap;
}
.dgm-nav-links a::after {
  content:''; position:absolute; bottom:-2px; left:0;
  width:0; height:1.5px; background:var(--accent); transition:width .28s;
}
.dgm-nav-links a:hover,.dgm-nav-links a.act { color:var(--text); }
.dgm-nav-links a:hover::after,.dgm-nav-links a.act::after { width:100%; }

.dgm-nav-right { display:flex; align-items:center; gap:.75rem; flex-shrink:0; }

/* Theme toggle */
.dgm-tog {
  width:46px; height:24px; border-radius:12px;
  background:var(--surface2); border:1px solid var(--border2);
  cursor:pointer; padding:3px; display:flex; align-items:center; flex-shrink:0;
}
.dgm-tog-b {
  width:16px; height:16px; border-radius:50%; background:var(--accent);
  transition:transform .38s cubic-bezier(.4,0,.2,1);
}
[data-theme="light"] .dgm-tog-b { transform:translateX(22px); }

/* Nav CTA */
.dgm-nav-cta {
  padding:.48rem 1.2rem; background:var(--accent); color:#000;
  border-radius:8px; font-weight:700; font-size:.82rem;
  transition:all .28s; white-space:nowrap;
}
.dgm-nav-cta:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,212,255,.4); color:#000; }
[data-theme="light"] .dgm-nav-cta:hover { box-shadow:0 6px 20px rgba(85,0,221,.3); }

/* Hamburger */
.dgm-ham {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:5px; background:none; border:none;
}
.dgm-ham span { width:22px; height:2px; background:var(--text); border-radius:2px; display:block; transition:all .3s; }
.dgm-ham.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.dgm-ham.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.dgm-ham.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile Drawer */
.dgm-mob {
  position:fixed; inset:68px 0 0 0; z-index:480;
  background:var(--bg); padding:1.5rem var(--pad) 2rem;
  display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .38s ease; overflow-y:auto;
}
.dgm-mob.open { transform:translateX(0); }
.dgm-mob a {
  font-family:'Syne',sans-serif; font-size:1.5rem; font-weight:700;
  color:var(--text); padding:1rem 0; border-bottom:1px solid var(--border);
  transition:color .25s; display:block;
}
.dgm-mob a:hover { color:var(--accent); }
.dgm-mob-cta-btn {
  margin-top:1.6rem; padding:1rem; text-align:center;
  background:var(--accent); color:#000; border-radius:10px;
  font-family:'Syne',sans-serif; font-weight:700; font-size:1rem;
  cursor:pointer; border:none; display:block; transition:all .3s;
}

/* ================================================================
   BUTTONS
================================================================ */
.dgm-btn-p {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.78rem 1.9rem; background:var(--accent); color:#000;
  border-radius:9px; font-weight:700; font-size:.93rem; transition:all .3s; border:none; cursor:pointer;
}
.dgm-btn-p:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(0,212,255,.38); color:#000; }
[data-theme="light"] .dgm-btn-p:hover { box-shadow:0 12px 32px rgba(85,0,221,.3); }

.dgm-btn-o {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.78rem 1.9rem; border:1px solid var(--border2);
  background:transparent; color:var(--text); border-radius:9px;
  font-weight:500; font-size:.93rem; transition:all .3s; cursor:pointer;
}
.dgm-btn-o:hover { border-color:var(--accent); color:var(--accent); }

.dgm-btn-sm {
  padding:.5rem 1.1rem; border:1px solid var(--border);
  background:transparent; color:var(--muted2);
  border-radius:7px; font-size:.82rem; font-weight:500; transition:all .28s;
}
.dgm-btn-sm:hover { color:var(--accent); border-color:var(--accent); }

.dgm-btn-white {
  display:inline-block; padding:.85rem 2.2rem; border-radius:10px;
  background:#fff; color:#000; font-family:'Syne',sans-serif;
  font-weight:700; font-size:.94rem; cursor:pointer; border:none; transition:all .3s;
}
.dgm-btn-white:hover { transform:translateY(-3px); box-shadow:0 10px 32px rgba(0,0,0,.28); color:#000; }

/* ================================================================
   SECTION COMMONS
================================================================ */
.dgm-section { padding:clamp(3.5rem,9vw,6.5rem) var(--pad); }
.dgm-section-alt { background:var(--bg2); }

.dgm-label {
  font-size:.7rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--accent); margin-bottom:.65rem; display:block;
}
.dgm-title {
  font-family:'Syne',sans-serif;
  font-size:clamp(1.8rem,4vw,3.2rem);
  font-weight:800; line-height:1.05; letter-spacing:-1px; margin-bottom:.85rem;
}
.dgm-sub { color:var(--muted); line-height:1.8; font-weight:300; font-size:clamp(.88rem,1.6vw,1rem); }
.dgm-sub-max { max-width:540px; }

.dgm-hdr { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:3rem; flex-wrap:wrap; gap:1.5rem; }
.dgm-tc { text-align:center; }
.dgm-tc .dgm-sub,.dgm-tc .dgm-sub-max { margin:0 auto; }

/* Grad text */
.dgm-grad {
  background:var(--grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
}

/* ================================================================
   SCROLL REVEAL
================================================================ */
.rev { opacity:0; transform:translateY(32px); transition:opacity .75s,transform .75s cubic-bezier(.4,0,.2,1); }
.rev.vis { opacity:1; transform:none; }

/* ================================================================
   HERO
================================================================ */
.dgm-hero {
  min-height:100svh; display:flex; align-items:center;
  padding:clamp(6rem,14vw,9rem) var(--pad) clamp(3rem,7vw,5rem);
  position:relative; overflow:hidden;
}
.dgm-hero-bg {
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 70% 60% at 80% 40%,rgba(0,212,255,.07) 0%,transparent 65%),
             radial-gradient(ellipse 55% 60% at 15% 85%,rgba(124,45,255,.1) 0%,transparent 60%);
}
[data-theme="light"] .dgm-hero-bg {
  background:radial-gradient(ellipse 70% 60% at 80% 40%,rgba(85,0,221,.07) 0%,transparent 65%),
             radial-gradient(ellipse 55% 60% at 15% 85%,rgba(0,136,204,.08) 0%,transparent 60%);
}
.dgm-hero-grid {
  position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:55px 55px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 0%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 0%,transparent 80%);
}
.dgm-shape-1 {
  position:absolute; top:10%; right:26%; width:300px; height:300px; pointer-events:none;
  border-radius:50%; opacity:.35; background:radial-gradient(circle,rgba(0,212,255,.05),transparent 70%);
  animation:dgmF1 9s ease-in-out infinite;
}
.dgm-shape-2 {
  position:absolute; bottom:8%; left:3%; width:180px; height:180px; pointer-events:none;
  border-radius:50%; opacity:.3; border:1px solid rgba(124,45,255,.2);
  animation:dgmF2 7s ease-in-out infinite;
}

.dgm-hero-inner {
  position:relative; z-index:1; width:100%;
  display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center;
}
.dgm-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.35rem .95rem; border-radius:50px;
  background:rgba(0,212,255,.08); border:1px solid rgba(0,212,255,.22);
  font-size:.7rem; font-weight:700; color:var(--accent);
  letter-spacing:.8px; text-transform:uppercase; margin-bottom:1.5rem;
  opacity:0; animation:dgmFU .8s .1s forwards;
}
[data-theme="light"] .dgm-badge { background:rgba(85,0,221,.07); border-color:rgba(85,0,221,.22); }
.dgm-pulse { width:6px; height:6px; border-radius:50%; background:var(--accent); animation:dgmPulse 2s infinite; }

.dgm-h1 {
  font-family:'Syne',sans-serif;
  font-size:clamp(2.7rem,6.5vw,6.2rem);
  font-weight:800; line-height:.94; letter-spacing:-2px; margin-bottom:1.4rem;
  opacity:0; animation:dgmFU .9s .25s forwards;
}
.dgm-hero-desc {
  font-size:clamp(.92rem,1.7vw,1.1rem); color:var(--muted); line-height:1.8;
  max-width:500px; margin-bottom:2rem; font-weight:300;
  opacity:0; animation:dgmFU .9s .4s forwards;
}
.dgm-hero-btns {
  display:flex; gap:.85rem; flex-wrap:wrap;
  opacity:0; animation:dgmFU .9s .55s forwards;
}
/* Founder trust line */
.dgm-founder-trust {
  margin-top:1.8rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap;
  opacity:0; animation:dgmFU .9s .7s forwards;
}
.dgm-founder-av {
  width:44px; height:44px; border-radius:50%;
  background:var(--grad); border:2px solid var(--accent);
  display:flex; align-items:center; justify-content:center;
  font-family:'Syne',sans-serif; font-weight:800; font-size:.82rem; color:#fff; flex-shrink:0;
  overflow:hidden;
}
.dgm-founder-av img { width:100%; height:100%; object-fit:cover; }
.dgm-founder-txt { font-size:.8rem; color:var(--muted2); line-height:1.4; }
.dgm-founder-txt strong { color:var(--text); font-weight:600; display:block; }

/* Hero stats column */
.dgm-hero-stats { display:flex; flex-direction:column; gap:1rem; opacity:0; animation:dgmFR 1s .65s forwards; }
.dgm-sc {
  background:var(--card); border:1px solid var(--border); border-radius:var(--r);
  padding:1.2rem 1.7rem; text-align:center; backdrop-filter:blur(12px);
  white-space:nowrap; transition:transform .3s,box-shadow .3s;
}
.dgm-sc:hover { transform:translateY(-4px); box-shadow:var(--glow); }
.dgm-sc-n { font-family:'Syne',sans-serif; font-size:2rem; font-weight:800; color:var(--accent); display:block; }
.dgm-sc-l { font-size:.68rem; color:var(--muted); letter-spacing:.5px; text-transform:uppercase; margin-top:.15rem; }

/* ================================================================
   MARQUEE
================================================================ */
.dgm-mq { padding:20px 0; background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); overflow:hidden; }
.dgm-mq-t { display:flex; gap:44px; animation:dgmMQ 26s linear infinite; width:max-content; }
.dgm-mq-i {
  font-family:'Syne',sans-serif; font-size:.74rem; font-weight:600;
  color:var(--muted); letter-spacing:2px; text-transform:uppercase;
  white-space:nowrap; display:flex; align-items:center; gap:14px;
}
.dgm-mq-i::after { content:'✦'; color:var(--accent); font-size:.5rem; }

/* ================================================================
   STATS STRIP
================================================================ */
.dgm-ss {
  background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:clamp(2rem,6vw,3.5rem) var(--pad);
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; text-align:center;
}
.dgm-ss-n { font-family:'Syne',sans-serif; font-size:clamp(2rem,4vw,2.8rem); font-weight:800; color:var(--accent); display:block; }
.dgm-ss-l { font-size:.68rem; color:var(--muted); letter-spacing:1.2px; text-transform:uppercase; margin-top:.2rem; }

/* ================================================================
   BRAND ICON CARDS (SVG tools)
================================================================ */
.dgm-tools-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:1rem; margin-top:3rem; }
.dgm-tool-card {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r);
  padding:1.2rem 1rem; display:flex; flex-direction:column; align-items:center; gap:.65rem;
  transition:all .35s; cursor:default; text-align:center;
}
.dgm-tool-card:hover { transform:translateY(-5px); border-color:var(--border2); box-shadow:var(--shadow); }
.dgm-tool-icon {
  width:48px; height:48px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:visible; flex-shrink:0;
}
.dgm-tool-icon svg { width:28px; height:28px; display:block; }
.dgm-tool-icon::after {
  content:''; position:absolute; inset:-6px; border-radius:16px;
  opacity:.25; z-index:-1; transition:opacity .35s;
}
.dgm-tool-card:hover .dgm-tool-icon::after { opacity:.55; }
/* Per-brand icon background glows */
.dgm-tool-card.ti-google   .dgm-tool-icon { background:rgba(66,133,244,.1); }
.dgm-tool-card.ti-google   .dgm-tool-icon::after { background:radial-gradient(#4285f4,transparent 70%); }
.dgm-tool-card.ti-meta     .dgm-tool-icon { background:rgba(24,119,242,.1); }
.dgm-tool-card.ti-meta     .dgm-tool-icon::after { background:radial-gradient(#1877f2,transparent 70%); }
.dgm-tool-card.ti-ga4      .dgm-tool-icon { background:rgba(249,171,0,.1); }
.dgm-tool-card.ti-ga4      .dgm-tool-icon::after { background:radial-gradient(#f9ab00,transparent 70%); }
.dgm-tool-card.ti-semrush  .dgm-tool-icon { background:rgba(255,160,0,.1); }
.dgm-tool-card.ti-semrush  .dgm-tool-icon::after { background:radial-gradient(#ffa000,transparent 70%); }
.dgm-tool-card.ti-ahrefs   .dgm-tool-icon { background:rgba(255,115,0,.1); }
.dgm-tool-card.ti-ahrefs   .dgm-tool-icon::after { background:radial-gradient(#ff7300,transparent 70%); }
.dgm-tool-card.ti-wp       .dgm-tool-icon { background:rgba(33,117,155,.1); }
.dgm-tool-card.ti-wp       .dgm-tool-icon::after { background:radial-gradient(#21759b,transparent 70%); }
.dgm-tool-card.ti-hubspot  .dgm-tool-icon { background:rgba(255,122,89,.1); }
.dgm-tool-card.ti-hubspot  .dgm-tool-icon::after { background:radial-gradient(#ff7a59,transparent 70%); }
.dgm-tool-card.ti-mailchimp .dgm-tool-icon { background:rgba(255,232,0,.1); }
.dgm-tool-card.ti-mailchimp .dgm-tool-icon::after { background:radial-gradient(#ffe800,transparent 70%); }
.dgm-tool-card.ti-canva    .dgm-tool-icon { background:rgba(0,196,204,.1); }
.dgm-tool-card.ti-canva    .dgm-tool-icon::after { background:radial-gradient(#00c4cc,transparent 70%); }
.dgm-tool-card.ti-looker   .dgm-tool-icon { background:rgba(0,150,255,.1); }
.dgm-tool-card.ti-looker   .dgm-tool-icon::after { background:radial-gradient(#0096ff,transparent 70%); }

.dgm-tool-name { font-size:.72rem; font-weight:600; color:var(--muted2); line-height:1.3; }

/* ================================================================
   WHY US / TWO COL
================================================================ */
.dgm-two-col { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,6vw,5.5rem); align-items:center; }
.dgm-why-list li {
  display:flex; gap:.85rem; align-items:flex-start;
  padding:.9rem 0; border-bottom:1px solid var(--border); font-size:.9rem; line-height:1.65;
}
.dgm-why-list li:last-child { border-bottom:none; }
.dgm-ck { color:var(--accent); font-weight:700; flex-shrink:0; margin-top:2px; font-size:1rem; }

.dgm-skill-box {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r2); padding:clamp(1.5rem,4vw,2.4rem);
  position:relative; box-shadow:var(--shadow);
}
.dgm-skill-badge {
  position:absolute; top:-17px; right:-14px;
  background:var(--accent); color:#000; border-radius:10px;
  padding:.7rem 1.1rem; font-family:'Syne',sans-serif;
  font-weight:800; font-size:1.1rem;
  box-shadow:0 8px 24px rgba(0,212,255,.38);
}
[data-theme="light"] .dgm-skill-badge { box-shadow:0 8px 24px rgba(85,0,221,.28); }

.dgm-pr-item { margin-bottom:1.35rem; }
.dgm-pr-item:last-child { margin-bottom:0; }
.dgm-pr-lbl { display:flex; justify-content:space-between; font-size:.81rem; font-weight:500; margin-bottom:.42rem; }
.dgm-pr-bar { height:3.5px; background:var(--border2); border-radius:2px; overflow:hidden; }
.dgm-pr-fill { height:100%; border-radius:2px; background:var(--grad); width:0; transition:width 1.7s cubic-bezier(.4,0,.2,1); }

/* ================================================================
   FOUNDER SECTION
================================================================ */
.dgm-founder-section { position:relative; overflow:hidden; }
.dgm-founder-section::before {
  content:''; position:absolute; top:-60px; right:-60px;
  width:400px; height:400px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle,rgba(0,212,255,.07),transparent 70%);
}
.dgm-founder-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,6vw,5.5rem); align-items:start; }
.dgm-founder-img-wrap { position:relative; }
.dgm-founder-img {
  width:100%; border-radius:var(--r2); overflow:hidden;
  background:var(--grad); aspect-ratio:4/5; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow),var(--glow); position:relative;
}
.dgm-founder-img img { width:100%; height:100%; object-fit:cover; object-position:top; }
.dgm-founder-img-placeholder {
  font-size:8rem; opacity:.3;
}
.dgm-founder-card {
  position:absolute; bottom:-20px; right:-20px;
  background:var(--surface); border:1px solid var(--accent);
  border-radius:14px; padding:1.1rem 1.4rem;
  box-shadow:var(--shadow); min-width:160px;
}
.dgm-founder-card-n { font-family:'Syne',sans-serif; font-weight:800; font-size:1rem; margin-bottom:.15rem; }
.dgm-founder-card-r { font-size:.72rem; color:var(--accent); font-weight:600; letter-spacing:.5px; }
.dgm-founder-card-s { display:flex; gap:.8rem; margin-top:.7rem; }
.dgm-founder-card-stat span { font-family:'Syne',sans-serif; font-weight:800; font-size:1.1rem; color:var(--accent); }
.dgm-founder-card-stat small { font-size:.62rem; color:var(--muted); display:block; }

.dgm-timeline { margin-top:2rem; }
.dgm-tl-item { display:flex; gap:1.1rem; align-items:flex-start; margin-bottom:1.4rem; }
.dgm-tl-left { display:flex; flex-direction:column; align-items:center; flex-shrink:0; }
.dgm-tl-dot {
  width:10px; height:10px; border-radius:50%; background:var(--accent);
  box-shadow:0 0 10px rgba(0,212,255,.55); flex-shrink:0;
}
.dgm-tl-line { width:1.5px; flex:1; background:var(--border2); margin:4px 0; min-height:32px; }
.dgm-tl-yr { font-family:'Syne',sans-serif; font-weight:800; font-size:.82rem; color:var(--accent); white-space:nowrap; margin-top:-.1rem; }
.dgm-tl-content { padding-bottom:.5rem; }
.dgm-tl-title { font-family:'Syne',sans-serif; font-weight:700; font-size:.92rem; margin-bottom:.25rem; }
.dgm-tl-desc { font-size:.82rem; color:var(--muted); line-height:1.6; }

/* Why cards */
.dgm-why-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1.2rem; margin-top:3rem; }
.dgm-why-card {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r);
  padding:1.5rem; transition:all .38s;
}
.dgm-why-card:hover { transform:translateY(-5px); border-color:rgba(0,212,255,.25); box-shadow:var(--glow); }
.dgm-why-icon {
  width:44px; height:44px; border-radius:11px;
  background:rgba(0,212,255,.08); border:1px solid rgba(0,212,255,.15);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1rem; transition:all .35s;
}
[data-theme="light"] .dgm-why-icon { background:rgba(85,0,221,.07); border-color:rgba(85,0,221,.15); }
.dgm-why-card:hover .dgm-why-icon { transform:scale(1.1); box-shadow:var(--glow); }
.dgm-why-icon svg { width:22px; height:22px; }
.dgm-why-card h4 { font-family:'Syne',sans-serif; font-weight:700; font-size:.95rem; margin-bottom:.4rem; }
.dgm-why-card p { font-size:.82rem; color:var(--muted); line-height:1.65; }

/* ================================================================
   PACKAGES
================================================================ */
.dgm-pkg-tabs {
  display:flex; flex-wrap:wrap; gap:.55rem; margin:2.5rem 0 2.8rem; justify-content:center;
}
.dgm-pkg-tab {
  padding:.5rem 1.2rem; border-radius:50px; border:1px solid var(--border2);
  background:transparent; color:var(--muted2); font-size:.82rem; font-weight:600;
  cursor:pointer; transition:all .28s; white-space:nowrap;
  display:inline-flex; align-items:center; gap:.45rem;
}
.dgm-pkg-tab svg { width:14px; height:14px; }
.dgm-pkg-tab.act { background:var(--accent); color:#000; border-color:var(--accent); }
.dgm-pkg-tab:hover:not(.act) { border-color:var(--accent); color:var(--accent); }

.dgm-pkg-cat { display:none; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.dgm-pkg-cat.show { display:grid; }

.dgm-pkg-card {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r2);
  padding:clamp(1.4rem,3vw,2.1rem); position:relative; overflow:hidden;
  display:flex; flex-direction:column; transition:transform .38s,box-shadow .38s,border-color .28s;
}
.dgm-pkg-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--grad); transform:scaleX(0); transform-origin:left; transition:transform .38s;
}
.dgm-pkg-card:hover { transform:translateY(-7px); box-shadow:var(--shadow),var(--glow); }
.dgm-pkg-card:hover::before { transform:scaleX(1); }
.dgm-pkg-card.hot { border-color:rgba(0,212,255,.4); }
[data-theme="light"] .dgm-pkg-card.hot { border-color:rgba(85,0,221,.35); }
.dgm-pkg-card.hot::before { transform:scaleX(1); }

.dgm-hot-b {
  position:absolute; top:1rem; right:1rem;
  background:var(--accent); color:#000; font-size:.62rem; font-weight:700;
  padding:.22rem .65rem; border-radius:50px; letter-spacing:.5px; text-transform:uppercase;
}
.dgm-pkg-icon {
  width:52px; height:52px; border-radius:13px; margin-bottom:1.2rem;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  transition:transform .3s,box-shadow .3s; position:relative;
}
.dgm-pkg-icon svg { width:28px; height:28px; }
/* Pkg icon brand backgrounds */
.pi-seo    { background:rgba(66,133,244,.1);  }
.pi-smm    { background:rgba(24,119,242,.1);  }
.pi-ads    { background:rgba(255,0,100,.1);   }
.pi-full   { background:rgba(124,45,255,.1);  }
.pi-web    { background:rgba(0,196,204,.1);   }
.dgm-pkg-card:hover .dgm-pkg-icon { transform:scale(1.1); }
.pi-seo:hover   { box-shadow:0 0 20px rgba(66,133,244,.35); }
.pi-smm:hover   { box-shadow:0 0 20px rgba(24,119,242,.35); }
.pi-ads:hover   { box-shadow:0 0 20px rgba(255,0,100,.35); }
.pi-full:hover  { box-shadow:0 0 20px rgba(124,45,255,.35); }
.pi-web:hover   { box-shadow:0 0 20px rgba(0,196,204,.35); }

.dgm-pkg-name { font-family:'Syne',sans-serif; font-size:1.06rem; font-weight:700; margin-bottom:.32rem; }
.dgm-pkg-tag  { font-size:.78rem; color:var(--muted); margin-bottom:1.1rem; line-height:1.55; }
.dgm-pkg-price { font-family:'Syne',sans-serif; font-size:1.75rem; font-weight:800; color:var(--accent); margin-bottom:.22rem; }
.dgm-pkg-price span { font-size:.82rem; font-weight:400; color:var(--muted); }
.dgm-pkg-note { font-size:.71rem; color:var(--muted); margin-bottom:1.3rem; }
.dgm-pkg-div  { height:1px; background:var(--border); margin-bottom:1.3rem; }
.dgm-pkg-feats { flex:1; margin-bottom:1.5rem; }
.dgm-pkg-feats li {
  display:flex; gap:.65rem; align-items:flex-start;
  padding:.44rem 0; font-size:.83rem; color:var(--muted2); line-height:1.5;
  border-bottom:1px solid rgba(255,255,255,.03);
}
.dgm-pkg-feats li:last-child { border-bottom:none; }
.dgm-pkg-feats li::before { content:'✓'; color:var(--accent); font-weight:700; flex-shrink:0; font-size:.8rem; margin-top:1px; }
.dgm-pkg-feats li.no { color:var(--muted); }
.dgm-pkg-feats li.no::before { content:'–'; color:var(--muted); }
.dgm-pkg-btn {
  width:100%; padding:.72rem; border-radius:9px; border:1px solid var(--border2);
  background:transparent; color:var(--text); font-weight:600; font-size:.87rem;
  transition:all .28s; cursor:pointer; text-align:center;
}
.dgm-pkg-btn:hover,.dgm-pkg-card.hot .dgm-pkg-btn { background:var(--accent); color:#000; border-color:var(--accent); }

.dgm-pkg-custom {
  margin:2.5rem auto 0; padding:1.8rem; max-width:700px;
  background:var(--surface); border:1px solid var(--border2);
  border-radius:var(--r); text-align:center;
}
.dgm-pkg-custom h4 { font-family:'Syne',sans-serif; font-weight:700; margin-bottom:.5rem; }
.dgm-pkg-custom p { color:var(--muted); font-size:.87rem; line-height:1.7; margin-bottom:1.2rem; }

/* ================================================================
   PROCESS
================================================================ */
.dgm-proc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; margin-top:3.5rem; position:relative; }
.dgm-proc-grid::before {
  content:''; position:absolute; top:26px; left:8%; right:8%; height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),var(--accent2),transparent); z-index:0;
}
.dgm-proc-step { text-align:center; position:relative; z-index:1; }
.dgm-proc-num {
  width:54px; height:54px; border-radius:50%; background:var(--surface);
  border:1.5px solid var(--accent); display:flex; align-items:center; justify-content:center;
  font-family:'Syne',sans-serif; font-weight:800; font-size:.95rem; color:var(--accent);
  margin:0 auto 1.2rem; box-shadow:0 0 18px rgba(0,212,255,.2); transition:all .38s;
}
.dgm-proc-step:hover .dgm-proc-num { background:var(--accent); color:#000; transform:scale(1.1); }
.dgm-proc-t { font-family:'Syne',sans-serif; font-weight:700; margin-bottom:.45rem; font-size:.95rem; }
.dgm-proc-d { font-size:.82rem; color:var(--muted); line-height:1.65; }

/* ================================================================
   TESTIMONIALS
================================================================ */
.dgm-tes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:3rem; }
.dgm-tes-card {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r2);
  padding:clamp(1.3rem,3vw,1.8rem); display:flex; flex-direction:column; transition:all .38s;
}
.dgm-tes-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.dgm-tes-stars { color:#ffcf00; font-size:.8rem; margin-bottom:.85rem; letter-spacing:2px; }
.dgm-tes-txt { color:var(--muted2); font-size:.87rem; line-height:1.75; font-style:italic; margin-bottom:1.3rem; flex:1; }
.dgm-tes-auth { display:flex; align-items:center; gap:.85rem; }
.dgm-tes-av {
  width:40px; height:40px; border-radius:50%; background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.8rem; color:#fff; flex-shrink:0; overflow:hidden;
}
.dgm-tes-av img { width:100%; height:100%; object-fit:cover; }
.dgm-tes-name { font-weight:600; font-size:.87rem; }
.dgm-tes-role { font-size:.73rem; color:var(--muted); margin-top:.1rem; }

/* ================================================================
   CONTACT
================================================================ */
.dgm-con-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.dgm-con-item {
  display:flex; gap:.85rem; align-items:flex-start; margin-bottom:.9rem; padding:1.05rem;
  background:var(--surface); border:1px solid var(--border); border-radius:12px; transition:border-color .28s;
}
.dgm-con-item:hover { border-color:var(--accent); }
.dgm-con-ico { font-size:1.1rem; flex-shrink:0; margin-top:1px; }
.dgm-con-lbl { font-size:.68rem; color:var(--muted); letter-spacing:1px; text-transform:uppercase; margin-bottom:.15rem; }
.dgm-con-val { font-weight:500; font-size:.89rem; }
.dgm-con-soc { display:flex; gap:.6rem; margin-top:1.4rem; flex-wrap:wrap; }
.dgm-soc {
  width:38px; height:38px; border-radius:9px; border:1px solid var(--border);
  background:var(--surface); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .28s; color:var(--muted);
}
.dgm-soc svg { width:17px; height:17px; }
.dgm-soc:hover { border-color:var(--accent); color:var(--accent); transform:translateY(-3px); }
.dgm-con-form { background:var(--surface); border:1px solid var(--border); border-radius:var(--r2); padding:clamp(1.5rem,4vw,2.4rem); }
.dgm-con-form h3 { font-family:'Syne',sans-serif; font-weight:700; margin-bottom:.35rem; }
.dgm-con-form p { color:var(--muted); font-size:.82rem; margin-bottom:1.5rem; }
.dgm-fg { margin-bottom:1rem; }
.dgm-fg label { font-size:.74rem; font-weight:500; letter-spacing:.4px; display:block; margin-bottom:.4rem; color:var(--muted2); }
.dgm-fi {
  width:100%; padding:.72rem .95rem; background:var(--bg);
  border:1px solid var(--border2); border-radius:9px; color:var(--text);
  font-family:'DM Sans',sans-serif; font-size:.9rem;
  transition:border-color .28s,box-shadow .28s; outline:none; appearance:none;
}
.dgm-fi:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(0,212,255,.09); }
[data-theme="light"] .dgm-fi:focus { box-shadow:0 0 0 3px rgba(85,0,221,.08); }
textarea.dgm-fi { resize:vertical; min-height:110px; }
.dgm-frow { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.dgm-submit {
  width:100%; padding:.84rem; border-radius:9px; background:var(--grad); border:none;
  color:#fff; font-family:'Syne',sans-serif; font-weight:700; font-size:.95rem;
  cursor:pointer; transition:all .3s; letter-spacing:.3px; margin-top:.4rem;
}
.dgm-submit:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,212,255,.32); }
[data-theme="light"] .dgm-submit { color:#0a0820; }

/* ================================================================
   PAGE HERO (inner pages)
================================================================ */
.dgm-page-hero {
  min-height:52vh; display:flex; align-items:flex-end;
  padding:clamp(8rem,16vw,11rem) var(--pad) clamp(3rem,6vw,4.5rem);
  position:relative; overflow:hidden;
}
.dgm-page-hero-bg {
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 65% 65% at 75% 50%,rgba(0,212,255,.07) 0%,transparent 65%),
             radial-gradient(ellipse 45% 55% at 20% 80%,rgba(124,45,255,.09) 0%,transparent 60%);
}
[data-theme="light"] .dgm-page-hero-bg {
  background:radial-gradient(ellipse 65% 65% at 75% 50%,rgba(85,0,221,.07) 0%,transparent 65%),
             radial-gradient(ellipse 45% 55% at 20% 80%,rgba(0,136,204,.08) 0%,transparent 60%);
}
.dgm-page-hero-grid {
  position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:55px 55px;
  mask-image:radial-gradient(ellipse 90% 80% at 50% 50%,#000 0%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 50%,#000 0%,transparent 80%);
}
.dgm-page-hero-content { position:relative; z-index:1; }
.dgm-page-hero h1 {
  font-family:'Syne',sans-serif; font-size:clamp(2.4rem,6vw,5.5rem);
  font-weight:800; letter-spacing:-2px; line-height:.94; margin-bottom:1.1rem;
  opacity:0; animation:dgmFU .9s .15s forwards;
}
.dgm-page-hero p {
  font-size:clamp(.92rem,1.7vw,1.08rem); color:var(--muted); max-width:540px; line-height:1.78;
  opacity:0; animation:dgmFU .9s .35s forwards;
}
.dgm-page-hero .dgm-label { opacity:0; animation:dgmFU .8s .02s forwards; }

/* ================================================================
   CTA BANNER
================================================================ */
.dgm-cta-wrap {
  background:var(--grad); padding:clamp(3.5rem,9vw,6rem) var(--pad);
  text-align:center; position:relative; overflow:hidden;
}
.dgm-cta-wrap::before {
  content:''; position:absolute; inset:0; opacity:.06;
  background-image:radial-gradient(circle,#fff 1px,transparent 1px); background-size:28px 28px;
}
.dgm-cta-wrap h2 {
  font-family:'Syne',sans-serif; font-size:clamp(1.8rem,4vw,3rem);
  font-weight:800; color:#fff; margin-bottom:.75rem; position:relative;
}
.dgm-cta-wrap p { color:rgba(255,255,255,.82); font-size:clamp(.9rem,1.5vw,1.05rem); margin-bottom:2rem; position:relative; }
.dgm-cta-row { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; position:relative; }

/* ================================================================
   FOOTER
================================================================ */
.dgm-footer {
  background:var(--bg2); border-top:1px solid var(--border);
  padding:clamp(3rem,8vw,5rem) var(--pad) 2rem;
}
.dgm-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:clamp(1.5rem,4vw,3rem); margin-bottom:3rem; }
.dgm-footer-desc { color:var(--muted); font-size:.87rem; line-height:1.78; margin-top:.85rem; max-width:260px; }
.dgm-footer-soc { display:flex; gap:.55rem; margin-top:1.2rem; flex-wrap:wrap; }
.dgm-footer-col h4 { font-family:'Syne',sans-serif; font-weight:700; margin-bottom:1rem; font-size:.9rem; }
.dgm-footer-links li { margin-bottom:.5rem; }
.dgm-footer-links a { color:var(--muted); font-size:.83rem; transition:color .25s; }
.dgm-footer-links a:hover { color:var(--accent); }
.dgm-footer-bot {
  border-top:1px solid var(--border); padding-top:1.5rem;
  display:flex; justify-content:space-between; align-items:center;
  font-size:.77rem; color:var(--muted); flex-wrap:wrap; gap:.7rem;
}
.dgm-footer-bot a { color:var(--accent); }

/* ================================================================
   KEYFRAMES
================================================================ */
@keyframes dgmFU  { from{opacity:0;transform:translateY(26px)} to{opacity:1;transform:none} }
@keyframes dgmFR  { from{opacity:0;transform:translateX(26px)} to{opacity:1;transform:none} }
@keyframes dgmPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.4)} }
@keyframes dgmF1  { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-20px)} }
@keyframes dgmF2  { 0%,100%{transform:translateY(0) rotate(0deg)} 50%{transform:translateY(-14px) rotate(180deg)} }
@keyframes dgmMQ  { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ================================================================
   RESPONSIVE — TABLET ≤1024
================================================================ */
@media (max-width:1024px) {
  .dgm-hero-stats { display:none; }
  .dgm-hero-inner,.dgm-two-col,.dgm-founder-grid,.dgm-con-grid { grid-template-columns:1fr; }
  .dgm-pkg-cat.show { grid-template-columns:repeat(2,1fr); }
  .dgm-proc-grid { grid-template-columns:repeat(2,1fr); }
  .dgm-proc-grid::before { display:none; }
  .dgm-tes-grid { grid-template-columns:repeat(2,1fr); }
  .dgm-ss { grid-template-columns:repeat(2,1fr); }
  .dgm-footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .dgm-skill-badge { top:-14px; right:-8px; }
  .dgm-founder-card { bottom:-10px; right:0; }
}

/* ================================================================
   RESPONSIVE — MOBILE ≤768
================================================================ */
@media (max-width:768px) {
  .dgm-nav .dgm-nav-links,.dgm-nav .dgm-nav-cta { display:none; }
  .dgm-ham { display:flex; }
  .dgm-pkg-cat.show { grid-template-columns:1fr; }
  .dgm-tes-grid { grid-template-columns:1fr; }
  .dgm-proc-grid { grid-template-columns:1fr 1fr; }
  .dgm-footer-grid { grid-template-columns:1fr; }
  .dgm-footer-bot { flex-direction:column; text-align:center; gap:.5rem; }
  .dgm-h1 { letter-spacing:-1px; }
  .dgm-frow { grid-template-columns:1fr; }
  .dgm-tools-grid { grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); }
  .dgm-why-grid { grid-template-columns:repeat(2,1fr); }
}

/* ================================================================
   RESPONSIVE — SMALL ≤480
================================================================ */
@media (max-width:480px) {
  .dgm-hero-btns,.dgm-cta-row { flex-direction:column; }
  .dgm-hero-btns .dgm-btn-p,.dgm-hero-btns .dgm-btn-o,.dgm-cta-row .dgm-btn-p,.dgm-cta-row .dgm-btn-o { width:100%; justify-content:center; }
  .dgm-pkg-tabs { gap:.35rem; }
  .dgm-pkg-tab { font-size:.75rem; padding:.42rem .8rem; }
  .dgm-ss { grid-template-columns:repeat(2,1fr); gap:1rem; }
  .dgm-proc-grid { grid-template-columns:1fr; }
  .dgm-pkg-card.hot { order:-1; }
  .dgm-con-form { padding:1.3rem; }
  .dgm-why-grid { grid-template-columns:1fr; }
  .dgm-tools-grid { grid-template-columns:repeat(3,1fr); }
}
