/* ====================================================================
   Digital Vision Technology Pvt Ltd — DVTPL theme override
   Whole-page gradient background (#100722 -> #8d0039) with the
   original particle animation kept intact on top of it.
   ==================================================================== */

/* Full-page fixed gradient, sits BEHIND the animated canvas (z-index:1)
   and behind all content (containers are z-index:5). */
body.v_blue{ background:#100722 !important; }
body::before{
  content:"";
  position:fixed; inset:0;
  z-index:0;
  background:linear-gradient(135deg,#100722 0%, #2a0a2b 45%, #5c0033 72%, #8d0039 100%);
  background-attachment:fixed;
}

/* Make the theme's solid/gradient section backgrounds transparent so the
   page gradient + particle animation show through the ENTIRE page. */
.section_gradiant,.section_gradiant2,.section_gradiant3,
.bg_blue_dark,.bg_black_dark,.v_dark,.bg_navy_blue,.bg_navy_blue_dark,
.bg_light_dark,.bg_light_dark_blue,.section_banner,.section_token,
#home_section,#token,#roadmap,#team,.top_footer{
  background-color:transparent !important;
  background-image:none !important;
}

/* keep every section above the fixed gradient/canvas */
section,footer{ position:relative; z-index:2; }

/* Particle animation canvas: keep it fixed & full-page, above the gradient
   but below content. (Original class already fixed; we just lock z-index.) */
#banner_canvas.transparent_effect.fixed,
canvas#banner_canvas{
  z-index:1 !important;
  opacity:.55;
  pointer-events:none;
}

/* ---- text brand (replaces logo images) ---- */
.dv_brand{
  font-family:'Poppins',sans-serif; font-weight:700; font-size:24px;
  color:#fff; letter-spacing:.3px; line-height:1; white-space:nowrap;
}
.dv_brand span{
  background:linear-gradient(90deg,#ff3d8b,#ff7a3d);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.footer_logo .dv_brand{ font-size:22px; }

/* ---- readability tweaks over the gradient ---- */
.bg_navy_blue_dark.contact_box_s2{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
}
.team_box,.card,.faq_content2 .card{ background:rgba(255,255,255,.04); }
.roadmap_box{ background:rgba(255,255,255,.03); }

/* ---- Our Services cards ---- */
.dv_service{
  position:relative; height:100%; text-align:center;
  padding:26px 20px 30px; background:transparent; border:0; box-shadow:none;
  transition:transform .4s ease; z-index:1;
}
/* soft radial glow behind the item — no box */
.dv_service::before{
  content:""; position:absolute; left:50%; top:20px; width:210px; height:210px;
  transform:translateX(-50%) scale(.6); z-index:-1; opacity:0; pointer-events:none;
  background:radial-gradient(circle, rgba(255,61,139,.38), rgba(141,0,57,0) 68%);
  transition:opacity .45s ease, transform .45s ease;
}
.dv_service:hover{ transform:translateY(-10px); }
.dv_service:hover::before{ opacity:1; transform:translateX(-50%) scale(1); }

/* hexagon gradient icon (replaces the square box) */
.dv_service .dv_icon{
  width:104px; height:104px; margin:0 auto 26px; padding:0; border:0; background:transparent;
  display:flex; align-items:center; justify-content:center; position:relative;
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.dv_service .dv_icon::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(150deg,#ff5e9f 0%, #ff3d8b 40%, #8d0039 100%);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  filter:drop-shadow(0 14px 26px rgba(141,0,57,.55));
  transition:filter .4s ease;
}
.dv_service:hover .dv_icon{ transform:rotate(6deg) scale(1.08); }
.dv_service:hover .dv_icon::before{ filter:drop-shadow(0 18px 34px rgba(255,61,139,.7)); }
.dv_service .dv_icon i{
  position:relative; z-index:2; font-size:36px; color:#fff;
  background:none; -webkit-text-fill-color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.28);
}
/* title with animated gradient underline (no card) */
.dv_service h4{
  color:#fff; font-size:19px; font-weight:600; margin:0 0 12px;
  position:relative; display:inline-block; padding-bottom:10px;
}
.dv_service h4::after{
  content:""; position:absolute; left:50%; bottom:0; height:3px; width:26px; transform:translateX(-50%);
  background:linear-gradient(90deg,#ff3d8b,#ff7a3d); border-radius:3px; transition:width .4s ease;
}
.dv_service:hover h4::after{ width:62px; }
.dv_service p{ color:#c9bfe0; font-size:14px; line-height:1.7; margin:0 auto 18px; max-width:280px; min-height:70px; }
/* CTA as a text link with arrow (no button box) */
.dv_service .btn{
  background:none !important; border:0 !important; box-shadow:none !important; padding:0 !important;
  border-radius:0; font-size:14px; font-weight:600; color:#ff7a3d;
  display:inline-flex; align-items:center; gap:6px;
}
.dv_service .btn i{ transition:transform .3s ease; }
.dv_service:hover .btn{ color:#ff3d8b; }
.dv_service:hover .btn i{ transform:translateX(5px); }

/* ===================== TESTIMONIALS ===================== */
.testimonial_wrap{ background:transparent !important; }
.dv_testi{
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px; padding:34px 30px 30px; position:relative; height:100%;
}
.dv_testi .dv_quote{
  position:absolute; top:22px; right:26px;
  width:44px; height:44px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#ff3d8b,#8d0039); color:#fff; font-size:18px;
  box-shadow:0 10px 24px rgba(141,0,57,.45);
}
.dv_testi > p{ color:#e9e2f5; font-size:15px; line-height:1.7; margin:0 0 24px; }
.dv_testi_by{ display:flex; align-items:center; gap:14px; }
.dv_avatar{
  width:52px; height:52px; border-radius:50%; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:700; font-family:'Poppins',sans-serif; font-size:16px;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
}
.dv_testi_meta h5{ color:#fff; margin:0; font-size:16px; }
.dv_testi_meta span{ color:#c3b6e6; font-size:12.5px; }
.testimonial_slider .owl-dots{ text-align:center; margin-top:26px; }
.testimonial_slider .owl-dot span{ background:rgba(255,255,255,.25) !important; width:9px; height:9px; }
.testimonial_slider .owl-dot.active span{ background:linear-gradient(90deg,#ff3d8b,#ff7a3d) !important; width:26px; border-radius:6px; }

/* ===================== FAQ polish (dark) ===================== */
.tab_nav_s6 .nav-item a{ color:#d6cae8; }
.tab_nav_s6 .nav-item a.active{ color:#fff; }
.faq_content2 .card{ background:rgba(255,255,255,.04) !important; border:1px solid rgba(255,255,255,.08); border-radius:12px !important; margin-bottom:12px; overflow:hidden; }
.faq_content2 .card-header{ background:transparent; border:0; }
.faq_content2 .card-header h6 a{ color:#fff; }
.faq_content2 .card-body{ color:#cbbfe4; }

/* scrollup + primary buttons tinted toward brand crimson/pink */
.btn-default{ box-shadow:0 8px 24px rgba(141,0,57,.35); }

/* small polish */
.contact_info li a:hover{ color:#ff7a3d; }


/* ---- testimonial star rating ---- */
.dv_rating{ margin:0 0 14px; display:flex; gap:3px; align-items:center; }
.dv_rating i{ color:#ffb347; font-size:15px; }
.dv_rating .num{ margin-left:8px; color:#fff; font-weight:600; font-size:13px; font-family:'Poppins',sans-serif; }

/* ===================== HERO (premium) ===================== */
#home_section{ padding-top:140px; padding-bottom:70px; }
.hero_text{ position:relative; z-index:3; }
.hero_badge{
  display:inline-flex; align-items:center; gap:8px; margin-bottom:22px;
  font-size:13px; font-weight:600; letter-spacing:.3px; color:#fff;
  padding:8px 16px; border-radius:999px;
  background:rgba(255,61,139,.14); border:1px solid rgba(255,61,139,.45);
}
.hero_badge i{ color:#ff7a3d; }
.hero_text h1,.hero_text h2.hero_h{ font-size:52px; line-height:1.08; font-weight:700; margin:0 0 18px; color:#fff; }
.hero_grad{
  background:linear-gradient(90deg,#ff3d8b 0%,#ff7a3d 55%,#ffb347 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.hero_text p{ font-size:17px; color:#d6cae8; max-width:520px; margin-bottom:22px; }
.hero_trust{ display:flex; align-items:center; gap:12px; margin-bottom:28px; color:#e9e2f5; font-size:14px; flex-wrap:wrap; }
.hero_stars i{ color:#ffb347; font-size:15px; margin-right:1px; }
.hero_trust b{ color:#fff; }
/* CTA buttons */
.btn_group .hero_btn_primary{
  background:linear-gradient(90deg,#ff2d76,#ff5e3a) !important; color:#fff !important; border:0 !important;
  box-shadow:0 14px 34px rgba(255,45,118,.5); transition:transform .25s ease, box-shadow .3s ease;
}
.btn_group .hero_btn_primary:hover{ transform:translateY(-3px); box-shadow:0 20px 46px rgba(255,45,118,.7); }
.btn_group .hero_btn_ghost{
  background:transparent !important; color:#fff !important; border:1.5px solid rgba(255,255,255,.4) !important; box-shadow:none !important; transition:.25s;
}
.btn_group .hero_btn_ghost:hover{ border-color:#ff3d8b !important; box-shadow:0 0 26px rgba(255,61,139,.4); transform:translateY(-3px); }
/* feature chips */
.hero_chips{ list-style:none; padding:0; margin:28px 0 0; display:flex; flex-wrap:wrap; gap:10px; }
.hero_chips li{ font-size:12.5px; color:#e3d9f4; padding:7px 15px; border-radius:999px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.05); display:inline-flex; align-items:center; gap:7px; }
.hero_chips li i{ color:#ff7a3d; }

/* right visual */
.hero_visual{ position:relative; height:460px; z-index:2; }
.hero_glow{ position:absolute; inset:12% 14%; border-radius:50%; background:radial-gradient(circle, rgba(168,85,247,.4), rgba(141,0,57,.14) 45%, transparent 70%); filter:blur(8px); animation:heroPulse 4s ease-in-out infinite; }
.hero_ring{ position:absolute; top:50%; left:50%; width:360px; height:360px; margin:-180px 0 0 -180px; border:1.5px dashed rgba(255,255,255,.16); border-radius:50%; animation:heroSpin 26s linear infinite; }
.hero_ring.r2{ width:250px; height:250px; margin:-125px 0 0 -125px; border-color:rgba(34,211,238,.18); animation-duration:18s; animation-direction:reverse; }
.hero_orb{ position:absolute; top:50%; left:50%; width:170px; height:170px; margin:-85px 0 0 -85px; display:flex; align-items:center; justify-content:center; animation:heroFloat 5s ease-in-out infinite; }
.hero_orb::before{ content:""; position:absolute; inset:0; background:linear-gradient(150deg,#ff5e9f,#ff3d8b 42%,#8d0039); clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); filter:drop-shadow(0 22px 42px rgba(141,0,57,.6)); }
.hero_orb i{ position:relative; z-index:2; font-size:58px; color:#fff; text-shadow:0 4px 12px rgba(0,0,0,.3); }
.hero_card{ position:absolute; display:flex; align-items:center; gap:12px; padding:13px 16px; border-radius:16px; background:rgba(20,7,34,.75); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); box-shadow:0 16px 40px rgba(0,0,0,.45); animation:heroFloat 6s ease-in-out infinite; z-index:3; }
.hero_card b{ display:block; color:#fff; font-size:18px; font-family:'Poppins',sans-serif; line-height:1.1; }
.hero_card small{ color:#c3b6e6; font-size:12px; }
.hero_card .hc_ic{ width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:17px; flex:0 0 auto; }
.hero_card.c1{ top:6%; left:-2%; }
.hero_card.c2{ top:44%; right:-4%; animation-delay:-2s; }
.hero_card.c3{ bottom:6%; left:6%; animation-delay:-4s; }
.hero_dot{ position:absolute; width:8px; height:8px; border-radius:50%; background:#fff; box-shadow:0 0 10px #fff; animation:heroTwinkle 3s ease-in-out infinite; }
.hero_dot.d1{ top:12%; right:16%; } .hero_dot.d2{ bottom:20%; right:10%; animation-delay:1s; width:6px;height:6px; }
.hero_dot.d3{ top:30%; left:6%; animation-delay:1.6s; width:5px;height:5px; } .hero_dot.d4{ bottom:12%; left:40%; animation-delay:.6s; }
@keyframes heroFloat{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
@keyframes heroPulse{ 0%,100%{opacity:.7; transform:scale(1)} 50%{opacity:1; transform:scale(1.06)} }
@keyframes heroSpin{ to{transform:rotate(360deg)} }
@keyframes heroTwinkle{ 0%,100%{opacity:.3; transform:scale(.7)} 50%{opacity:1; transform:scale(1.2)} }

/* bottom review boxes -> glassy */
.rate_title{ color:#fff; }
.review_box{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10); border-radius:16px; padding:14px 16px; }
.review_box .review_icon i{ color:#ff7a3d; }
.review_info h6{ color:#fff; }
.review_info .rating{ color:#ffb347; font-weight:700; }

@media (max-width:991px){
  #home_section{ padding-top:120px; }
  .hero_text h1,.hero_text h2.hero_h{ font-size:40px; }
  .hero_text p{ margin-left:auto; margin-right:auto; }
  .hero_trust,.hero_chips,.btn_group{ justify-content:center; }
  .hero_visual{ height:380px; margin-top:36px; }
  .hero_ring{ width:300px;height:300px;margin:-150px 0 0 -150px; }
  .hero_ring.r2{ width:210px;height:210px;margin:-105px 0 0 -105px; }
}
@media (max-width:575px){
  .hero_text h1,.hero_text h2.hero_h{ font-size:31px; }
  .hero_visual{ height:330px; }
  .hero_orb{ width:130px;height:130px;margin:-65px 0 0 -65px; } .hero_orb i{ font-size:44px; }
  .hero_ring{ width:240px;height:240px;margin:-120px 0 0 -120px; }
  .hero_ring.r2{ width:170px;height:170px;margin:-85px 0 0 -85px; }
  .hero_card{ padding:10px 12px; } .hero_card b{ font-size:15px; } .hero_card small{ font-size:11px; }
  .hero_card .hc_ic{ width:34px;height:34px;font-size:14px; }
  .hero_card.c1{ left:-2%; } .hero_card.c2{ right:-2%; }
}

/* ===================== HERO TEXT SLIDER ===================== */
.hero_slider{ position:relative; }
@media (min-width:992px){ .hero_slider{ min-height:238px; } }
.hero_slide{ display:none; }
.hero_slide.active{ display:block; animation:heroSlideIn .6s cubic-bezier(.2,.7,.2,1); }
@keyframes heroSlideIn{ from{opacity:0; transform:translateY(20px)} to{opacity:1; transform:none} }
.hero_dots{ display:flex; gap:9px; margin:20px 0 26px; }
.hero_dots button{ width:30px; height:5px; border-radius:99px; border:0; padding:0; background:rgba(255,255,255,.22); cursor:pointer; transition:.3s; }
.hero_dots button.active{ background:linear-gradient(90deg,#ff3d8b,#ff7a3d); width:46px; }

/* ===================== AI MARKETING DASHBOARD (right) ===================== */
.ai_dash{
  position:absolute; top:50%; left:50%; width:340px; max-width:88%;
  transform:translate(-50%,-50%);
  background:rgba(20,7,34,.82); border:1px solid rgba(255,255,255,.12);
  border-radius:20px; padding:20px; z-index:3;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  box-shadow:0 26px 60px rgba(0,0,0,.5);
  animation:heroFloat 6s ease-in-out infinite;
}
.ai_dash_head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.ai_badge{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:#fff; padding:6px 13px; border-radius:999px; background:linear-gradient(135deg,#ff3d8b,#8d0039); }
.ai_badge i{ color:#ffd9a8; }
.ai_live{ display:inline-flex; align-items:center; gap:6px; font-size:11px; color:#22d3ee; font-family:'Poppins',sans-serif; }
.ai_live .dotlive{ width:7px; height:7px; border-radius:50%; background:#22d3ee; box-shadow:0 0 8px #22d3ee; animation:heroPulse 1.6s infinite; }
.ai_kpis{ display:flex; gap:10px; margin-bottom:14px; }
.ai_kpi{ flex:1; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:10px 6px; text-align:center; }
.ai_kpi b{ display:block; color:#fff; font-family:'Poppins',sans-serif; font-size:16px; line-height:1; }
.ai_kpi small{ color:#c3b6e6; font-size:10.5px; }
.ai_chart{ height:88px; margin-bottom:12px; }
.ai_chart svg{ width:100%; height:100%; display:block; overflow:visible; }
.ai_line{ stroke-dasharray:620; stroke-dashoffset:620; animation:aiDraw 3s ease forwards; }
.ai_area{ opacity:0; animation:aiFade 1.2s ease .8s forwards; }
@keyframes aiDraw{ to{ stroke-dashoffset:0; } }
@keyframes aiFade{ to{ opacity:1; } }
.ai_bars{ display:flex; align-items:flex-end; gap:6px; height:46px; }
.ai_bars i{ flex:1; border-radius:4px 4px 0 0; background:linear-gradient(180deg,#ff7a3d,#8d0039); height:30%; animation:aiBar 1.9s ease-in-out infinite; }
.ai_bars i:nth-child(2){ animation-delay:.12s } .ai_bars i:nth-child(3){ animation-delay:.24s }
.ai_bars i:nth-child(4){ animation-delay:.36s } .ai_bars i:nth-child(5){ animation-delay:.48s }
.ai_bars i:nth-child(6){ animation-delay:.60s } .ai_bars i:nth-child(7){ animation-delay:.72s }
.ai_bars i:nth-child(8){ animation-delay:.84s }
@keyframes aiBar{ 0%,100%{ height:25%; } 50%{ height:100%; } }
/* floating platform icon badges */
.pf{ position:absolute; width:52px; height:52px; border-radius:15px; display:flex; align-items:center; justify-content:center; font-size:22px; color:#fff; background:rgba(20,7,34,.85); border:1px solid rgba(255,255,255,.14); box-shadow:0 12px 30px rgba(0,0,0,.45); z-index:4; animation:heroFloat 5s ease-in-out infinite; }
.pf.p1{ top:2%; left:12%; color:#ea4335; }
.pf.p2{ top:8%; right:6%; color:#4c8bf5; animation-delay:-1.5s; }
.pf.p3{ bottom:12%; right:9%; color:#e1306c; animation-delay:-3s; }
.pf.p4{ bottom:4%; left:8%; color:#22d3ee; animation-delay:-2.2s; }

@media (max-width:991px){
  .hero_dots{ justify-content:center; }
  .ai_dash{ width:320px; }
}
@media (max-width:575px){
  .ai_dash{ width:280px; padding:16px; }
  .ai_kpi b{ font-size:14px; }
  .pf{ width:42px; height:42px; font-size:18px; border-radius:12px; }
}

/* ===================== INTRO VIDEO ===================== */
#intro_video .dv_video{
  position:relative; max-width:640px; margin:0 auto; border-radius:22px; padding:8px;
  background:linear-gradient(135deg, rgba(255,61,139,.55), rgba(141,0,57,.55));
  box-shadow:0 20px 50px rgba(141,0,57,.35);
}
#intro_video .dv_video_el{
  display:block; width:100%; aspect-ratio:16/9; height:auto;
  border-radius:15px; object-fit:cover; background:#100722; border:0;
}
#intro_video .dv_video_badge{
  position:absolute; left:22px; bottom:22px; z-index:2;
  display:inline-flex; align-items:center; gap:6px; padding:7px 16px; border-radius:30px;
  font-size:12px; font-weight:700; letter-spacing:.3px; color:#fff;
  background:rgba(16,7,34,.6); backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.25); box-shadow:0 4px 14px rgba(0,0,0,.35);
}
#intro_video .dv_video_badge em{ color:#ff7a3d; }
@media (max-width:575px){
  #intro_video .dv_video{ padding:6px; border-radius:16px; max-width:100%; }
  #intro_video .dv_video_el{ border-radius:11px; }
  #intro_video .dv_video_badge{ left:14px; bottom:14px; padding:6px 12px; font-size:11px; }
}

/* ===================== HERO BOX ALIGNMENT FIX ===================== */
.hero_visual{ display:flex; align-items:center; justify-content:center; height:470px; }
.hero_stage{ position:relative; width:420px; max-width:100%; height:420px; }
.hero_stage .hero_glow{ inset:14%; }
.hero_stage .hero_ring{ top:50%; left:50%; width:380px; height:380px; margin:-190px 0 0 -190px; }
.hero_stage .hero_ring.r2{ width:270px; height:270px; margin:-135px 0 0 -135px; }
.hero_stage .ai_dash{ top:50%; left:50%; transform:translate(-50%,-50%); width:360px; max-width:94%; margin:0; }
.hero_stage .pf{ animation:heroFloat 5s ease-in-out infinite; }
.hero_stage .pf.p1{ top:4px; left:0; }
.hero_stage .pf.p2{ top:44px; right:-4px; animation-delay:-1.5s; }
.hero_stage .pf.p3{ bottom:40px; left:-6px; animation-delay:-3s; }
.hero_stage .pf.p4{ bottom:0; right:8px; animation-delay:-2.2s; }
.hero_stage .hero_dot.d1{ top:2%; right:6%; }
.hero_stage .hero_dot.d2{ bottom:8%; right:2%; }
.hero_stage .hero_dot.d3{ top:24%; left:2%; }

@media (max-width:991px){
  .hero_visual{ height:430px; margin-top:34px; }
  .hero_stage{ width:380px; height:380px; }
  .hero_stage .hero_ring{ width:330px; height:330px; margin:-165px 0 0 -165px; }
  .hero_stage .hero_ring.r2{ width:240px; height:240px; margin:-120px 0 0 -120px; }
}
@media (max-width:575px){
  .hero_visual{ height:380px; }
  .hero_stage{ width:300px; height:350px; }
  .hero_stage .ai_dash{ width:290px; }
  .hero_stage .hero_ring{ width:270px; height:270px; margin:-135px 0 0 -135px; }
  .hero_stage .hero_ring.r2{ width:190px; height:190px; margin:-95px 0 0 -95px; }
  .hero_stage .pf{ width:40px; height:40px; font-size:17px; }
  .hero_stage .pf.p1{ left:-4px; } .hero_stage .pf.p2{ right:-4px; }
  .hero_stage .pf.p3{ left:-4px; } .hero_stage .pf.p4{ right:-4px; }
}

/* ===================== SERVICES MARQUEE ===================== */
.dv_marquee_sec{ padding:0; position:relative; z-index:2; }
.dv_marquee{
  overflow:hidden; padding:20px 0; position:relative;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
  background:linear-gradient(90deg, rgba(141,0,57,.20), rgba(124,58,237,.16), rgba(255,61,139,.20));
}
/* fade edges */
.dv_marquee::before,.dv_marquee::after{
  content:""; position:absolute; top:0; bottom:0; width:90px; z-index:2; pointer-events:none;
}
.dv_marquee::before{ left:0; background:linear-gradient(90deg,#180a30,transparent); }
.dv_marquee::after{ right:0; background:linear-gradient(270deg,#180a30,transparent); }
.dv_marquee_track{
  display:flex; align-items:center; width:max-content;
  animation:dvMarquee 32s linear infinite; will-change:transform;
}
.dv_marquee:hover .dv_marquee_track{ animation-play-state:paused; }
.dv_marquee_item{
  display:inline-flex; align-items:center; gap:12px; padding:0 30px; white-space:nowrap;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:22px; color:#fff;
}
.dv_marquee_item i{ color:#ff7a3d; font-size:20px; }
.dv_sep{
  width:9px; height:9px; border-radius:50%; flex:0 0 auto;
  background:linear-gradient(135deg,#ff3d8b,#ff7a3d); box-shadow:0 0 10px rgba(255,61,139,.6);
}
@keyframes dvMarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (max-width:575px){
  .dv_marquee{ padding:15px 0; }
  .dv_marquee_item{ font-size:17px; padding:0 20px; gap:9px; }
  .dv_marquee_item i{ font-size:16px; }
  .dv_marquee::before,.dv_marquee::after{ width:48px; }
}
@media (prefers-reduced-motion:reduce){ .dv_marquee_track{ animation:none; } }

/* ===================== HERO BACKGROUND VIDEO ===================== */
#home_section{ position:relative; overflow:hidden; }
.hero_bg_video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  z-index:0; pointer-events:none;
}
.hero_overlay{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(16,7,34,.95) 0%, rgba(16,7,34,.80) 42%, rgba(141,0,57,.42) 100%),
    linear-gradient(180deg, rgba(16,7,34,.45) 0%, rgba(16,7,34,.15) 38%, rgba(16,7,34,.88) 100%);
}
/* keep all hero content above the video + overlay */
#home_section .container{ position:relative; z-index:2; }
/* the animated dashboard reads as a glass UI over the video */
#home_section .ai_dash{ background:rgba(16,7,34,.72); box-shadow:0 26px 70px rgba(0,0,0,.6); }
#home_section .hero_glow{ opacity:.75; }

@media (max-width:991px){
  .hero_overlay{
    background:
      linear-gradient(180deg, rgba(16,7,34,.80) 0%, rgba(16,7,34,.55) 40%, rgba(16,7,34,.92) 100%),
      linear-gradient(90deg, rgba(141,0,57,.30), rgba(124,58,237,.20));
  }
}
@media (max-width:575px){
  .hero_overlay{ background:linear-gradient(180deg, rgba(16,7,34,.86), rgba(16,7,34,.62) 45%, rgba(16,7,34,.94)); }
}

/* ===================== SERVICE VIDEO CARDS (blended, not pasted) ===================== */
.dv_service{
  position:relative; height:100%; text-align:center;
  padding:24px 24px 28px; overflow:hidden;
  background:linear-gradient(180deg,#221142 0%, #180b30 100%) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:22px !important;
  box-shadow:0 14px 34px rgba(0,0,0,.35) !important;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.dv_service::before,.dv_service::after{ display:none !important; }   /* kill old glow/bar pseudos */
.dv_service:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 60px rgba(141,0,57,.5) !important;
  border-color:rgba(255,61,139,.42) !important;
}
/* full-bleed media header that melts into the card */
.dv_media{
  position:relative; margin:-24px -24px 20px; overflow:hidden;
  border-radius:22px 22px 0 0; background:#100722; line-height:0;
}
.dv_media video{
  display:block; width:100%; height:200px; object-fit:cover;
  transition:transform .6s ease; filter:saturate(1.05);
}
.dv_service:hover .dv_media video{ transform:scale(1.06); }
/* gradient fade so the video bottom blends into the card body (no hard edge) */
.dv_media::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:78px; pointer-events:none;
  background:linear-gradient(to bottom, rgba(24,11,48,0) 0%, rgba(24,11,48,.65) 55%, #1a0c32 100%);
}
/* soft brand tint over the video for consistency with the theme */
.dv_media_glow{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(141,0,57,.12), rgba(124,58,237,.10));
  mix-blend-mode:screen;
}
.dv_service h4{ color:#fff; font-size:19px; font-weight:600; margin:0 0 12px; position:relative; display:inline-block; padding-bottom:10px; }
.dv_service h4::after{ content:""; position:absolute; left:50%; bottom:0; height:3px; width:30px; transform:translateX(-50%); background:linear-gradient(90deg,#ff3d8b,#ff7a3d); border-radius:3px; transition:width .4s ease; }
.dv_service:hover h4::after{ width:64px; }
.dv_service p{ color:#c9bfe0; font-size:14px; line-height:1.7; margin:0 auto 20px; max-width:300px; min-height:66px; }
.dv_service .btn{
  background:transparent !important; border:1.5px solid rgba(255,255,255,.35) !important; color:#fff !important;
  box-shadow:none !important; border-radius:999px !important; padding:9px 22px !important; font-size:13px;
  display:inline-flex; align-items:center; gap:6px; transition:.3s;
}
.dv_service:hover .btn{ background:#fff !important; color:#8d0039 !important; border-color:#fff !important; }
@media (max-width:575px){
  .dv_media video{ height:180px; }
}

/* ===================== SERVICE = CIRCULAR VIDEO MEDALLIONS (no box) ===================== */
.dv_service{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  border-radius:0 !important; padding:16px 18px 34px !important; overflow:visible !important;
  text-align:center; transition:transform .35s ease;
}
.dv_service::before,.dv_service::after{ display:none !important; }
.dv_service:hover{ transform:translateY(-10px); box-shadow:none !important; }

/* circular media */
.dv_media{
  position:relative; width:172px; height:172px; margin:0 auto 26px !important;
  border-radius:50% !important; overflow:visible !important; background:transparent; line-height:0;
}
.dv_media video{
  width:100%; height:100%; object-fit:cover; border-radius:50%;
  position:relative; z-index:2; transition:transform .5s ease;
  box-shadow:0 18px 38px rgba(141,0,57,.45);
}
/* rotating gradient ring */
.dv_media::before{
  content:""; position:absolute; inset:-9px; border-radius:50%; z-index:1;
  background:conic-gradient(from 0deg,#ff3d8b,#ff7a3d,#a855f7,#22d3ee,#ff3d8b);
  animation:heroSpin 9s linear infinite;
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 7px), #000 calc(100% - 6px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 7px), #000 calc(100% - 6px));
}
/* soft glow on hover (no box) */
.dv_media::after{
  content:""; position:absolute; inset:-34px; border-radius:50%; z-index:0;
  background:radial-gradient(circle, rgba(255,61,139,.4), transparent 66%);
  opacity:0; transition:opacity .4s ease; display:block !important;
}
.dv_service:hover .dv_media::after{ opacity:1; }
.dv_service:hover .dv_media video{ transform:scale(1.07); }
.dv_service:hover .dv_media::before{ animation-duration:3.5s; }
.dv_media_glow{ display:none !important; }

/* text */
.dv_service h4{ color:#fff; font-size:19px; font-weight:600; margin:0 0 12px; position:relative; display:inline-block; padding-bottom:10px; }
.dv_service h4::after{ content:""; position:absolute; left:50%; bottom:0; height:3px; width:30px; transform:translateX(-50%); background:linear-gradient(90deg,#ff3d8b,#ff7a3d); border-radius:3px; transition:width .4s ease; display:block !important; }
.dv_service:hover h4::after{ width:66px; }
.dv_service p{ color:#c9bfe0; font-size:14px; line-height:1.7; margin:0 auto 20px; max-width:300px; min-height:66px; }
.dv_service .btn{
  background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; border-radius:0 !important;
  color:#ff7a3d !important; font-size:14px; font-weight:600; display:inline-flex; align-items:center; gap:6px;
}
.dv_service .btn i{ transition:transform .3s ease; }
.dv_service:hover .btn{ color:#ff3d8b !important; }
.dv_service:hover .btn i{ transform:translateX(5px); }

@media (max-width:575px){ .dv_media{ width:150px; height:150px; } }

/* ===================== SERVICE = GAMING / CYBER CARDS (angular, no box) =====================
   Overrides the circular-medallion block above. Angular clipped cards with an
   animated neon gradient border, scanline video header, HUD index badge and
   neon glow on hover. */
#token .row.small_space{ counter-reset:dvsvc; }

.dv_service{
  --cut:18px;
  position:relative; height:100%; text-align:left; overflow:visible !important;
  padding:0 0 26px !important; margin-top:6px;
  background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important;
  counter-increment:dvsvc;
  clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));
  filter:drop-shadow(0 14px 30px rgba(0,0,0,.55));
  transition:transform .35s cubic-bezier(.2,.7,.3,1), filter .35s ease;
}
.dv_service > *{ position:relative; z-index:2; }

/* animated neon gradient border layer */
.dv_service::before{
  content:""; position:absolute; inset:0; z-index:0; display:block !important;
  background:conic-gradient(from 0deg,#ff3d8b,#ff7a3d,#a855f7,#22d3ee,#7c3aed,#ff3d8b);
  background-size:200% 200%;
  clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));
  animation:dvGameBorder 7s linear infinite;
  opacity:.9;
}
/* inner dark fill (leaves ~2px neon rim) */
.dv_service::after{
  content:""; position:absolute; inset:2px; z-index:1; display:block !important;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(124,58,237,.20), transparent 60%),
    linear-gradient(180deg,#1b0d38 0%, #120827 100%);
  clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));
}
.dv_service:hover{ transform:translateY(-9px); filter:drop-shadow(0 22px 44px rgba(255,61,139,.5)); }
.dv_service:hover::before{ animation-duration:2.6s; opacity:1; }

/* ---- media header: video banner with scanlines + neon underline ---- */
.dv_media{
  position:relative; width:auto !important; height:auto !important;
  margin:0 0 18px !important; border-radius:0 !important; overflow:hidden !important;
  background:#0d051d; line-height:0;
}
.dv_media video{
  display:block; width:100%; height:180px; object-fit:cover; border-radius:0 !important;
  box-shadow:none !important; transform:none; filter:saturate(1.1) contrast(1.05);
  transition:transform .6s ease;
}
.dv_service:hover .dv_media video{ transform:scale(1.07); }
/* scanline / grid overlay */
.dv_media::before{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none; display:block !important;
  background:
    repeating-linear-gradient(0deg, rgba(0,0,0,0) 0 2px, rgba(0,0,0,.18) 2px 3px),
    linear-gradient(180deg, rgba(124,58,237,.10), rgba(255,61,139,.10));
  mix-blend-mode:overlay; opacity:.55; transition:opacity .4s ease;
  -webkit-mask:none; mask:none; animation:none;
}
.dv_service:hover .dv_media::before{ opacity:.85; }
/* neon underline that scans on hover */
.dv_media::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px; z-index:3; display:block !important;
  background:linear-gradient(90deg,transparent,#22d3ee,#ff3d8b,#ff7a3d,transparent);
  background-size:200% 100%; opacity:.9; animation:dvScan 3.5s linear infinite;
  inset:auto 0 0 0;
}

/* ---- HUD index badge (01, 02, 03 ...) ---- */
.dv_media_glow{
  display:block !important; position:absolute; top:12px; left:12px; z-index:4;
  inset:auto auto auto 12px; background:transparent; mix-blend-mode:normal;
}
.dv_media_glow::before{
  content:counter(dvsvc,decimal-leading-zero);
  display:inline-block; padding:3px 9px; font-size:12px; font-weight:700; letter-spacing:2px;
  color:#fff; font-family:'Courier New',monospace;
  background:rgba(13,5,29,.7); border:1px solid rgba(34,211,238,.6);
  box-shadow:0 0 12px rgba(34,211,238,.45); backdrop-filter:blur(2px);
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}

/* ---- text ---- */
.dv_service h4{
  color:#fff; font-size:18px; font-weight:700; margin:0 0 10px; padding:0 22px;
  display:block; text-transform:uppercase; letter-spacing:.4px; line-height:1.35;
  text-shadow:0 0 18px rgba(255,61,139,.35);
}
.dv_service h4::after{ display:none !important; }
.dv_service p{
  color:#b9aed6; font-size:13.5px; line-height:1.7; margin:0 0 18px; padding:0 22px;
  max-width:none; min-height:64px; text-align:left;
}
/* tech button */
.dv_service .btn{
  margin:0 22px; background:transparent !important; color:#22d3ee !important;
  border:1px solid rgba(34,211,238,.5) !important; box-shadow:none !important;
  border-radius:0 !important; padding:8px 18px !important; font-size:12px; font-weight:700;
  text-transform:uppercase; letter-spacing:1.5px; display:inline-flex; align-items:center; gap:8px;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  transition:.3s ease;
}
.dv_service .btn i{ transition:transform .3s ease; }
.dv_service:hover .btn{
  background:linear-gradient(90deg,#ff3d8b,#ff7a3d) !important; color:#fff !important;
  border-color:transparent !important; box-shadow:0 0 20px rgba(255,61,139,.55) !important;
}
.dv_service:hover .btn i{ transform:translateX(5px); }

@keyframes dvGameBorder{ 0%{ background-position:0% 50%; } 100%{ background-position:200% 50%; } }
@keyframes dvScan{ 0%{ background-position:200% 0; } 100%{ background-position:-200% 0; } }

@media (max-width:575px){
  .dv_media{ width:auto !important; height:auto !important; border-radius:0 !important; }
  .dv_media video{ height:170px; }
  .dv_service h4{ font-size:17px; }
}

/* ===================== SERVICE ARC / DOME LAYOUT (Apple-style showcase) =====================
   Tiles are placed on a semicircle via transform math; center holds the
   badge + headline + CTA. Falls back to a clean grid on mobile. */
.dv_arc_wrap{ position:relative; padding-top:18px; }

.dv_arc{
  --span:156deg; --start:-78deg; --R:290px; --t:120px; --n:7;
  position:relative; width:100%; max-width:840px; margin:0 auto;
  height:calc(var(--R) + var(--t) / 2 + 22px);
}

/* each tile sits on the circle: rotate out, push up by R, then stay upright */
.dv_tile{
  position:absolute; left:50%; top:100%; display:block; text-decoration:none;
  width:var(--t); height:var(--t);
  margin-left:calc(var(--t) / -2); margin-top:calc(var(--t) / -2);
  --a:calc(var(--start) + var(--i) * (var(--span) / (var(--n) - 1)));
  transform:rotate(var(--a)) translateY(calc(-1 * var(--R))) rotate(calc(-1 * var(--a)));
  z-index:2;
}
.dv_tile:hover{ z-index:6; }

.dv_tile_media{
  display:block; width:100%; height:100%; border-radius:22px; overflow:hidden;
  background:#160a2e; border:1px solid rgba(255,255,255,.09);
  box-shadow:0 12px 26px rgba(0,0,0,.45);
  animation:dvArcPop .6s cubic-bezier(.2,.8,.3,1) both;
  animation-delay:calc(var(--i) * .07s + .1s);
  transition:border-color .35s ease, box-shadow .35s ease;
}
.dv_tile_media video{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.dv_tile:hover .dv_tile_media{ border-color:rgba(168,85,247,.55); box-shadow:0 18px 42px rgba(124,58,237,.55); }
.dv_tile:hover .dv_tile_media video{ transform:scale(1.12); }

/* label appears on hover */
.dv_tile_label{
  position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%);
  white-space:nowrap; font-size:12px; font-weight:600; color:#fff;
  background:rgba(20,10,40,.92); border:1px solid rgba(255,255,255,.14);
  padding:4px 11px; border-radius:999px; opacity:0; pointer-events:none;
  transition:opacity .25s ease; z-index:7;
}
.dv_tile:hover .dv_tile_label{ opacity:1; }

/* center content inside the dome */
.dv_arc_center{
  position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:min(440px,86%); text-align:center; z-index:5;
}
.dv_arc_badge{
  display:inline-block; font-size:12px; letter-spacing:1px; text-transform:uppercase;
  color:#e0d3ff; background:rgba(124,58,237,.18); border:1px solid rgba(168,85,247,.45);
  padding:5px 14px; border-radius:999px; margin-bottom:14px;
}
.dv_arc_title{
  color:#fff; font-size:clamp(26px,4vw,40px); font-weight:700; line-height:1.15;
  margin:0 0 12px; letter-spacing:-.5px;
}
.dv_arc_title span{
  background:linear-gradient(90deg,#ff7a3d,#ff3d8b,#a855f7);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.dv_arc_sub{ color:#b9aed6; font-size:14px; line-height:1.7; margin:0 auto 22px; max-width:400px; }
.dv_arc_btn{
  display:inline-flex !important; align-items:center; gap:8px;
  background:linear-gradient(90deg,#7c3aed,#a855f7) !important; color:#fff !important;
  border:0 !important; border-radius:999px !important; padding:12px 26px !important;
  font-size:14px; font-weight:600; box-shadow:0 12px 30px rgba(124,58,237,.5) !important;
  transition:transform .3s ease, box-shadow .3s ease;
}
.dv_arc_btn:hover{ transform:translateY(-2px); box-shadow:0 16px 40px rgba(168,85,247,.6) !important; color:#fff !important; }
.dv_arc_btn i{ transition:transform .3s ease; }
.dv_arc_btn:hover i{ transform:translateX(4px); }

@keyframes dvArcPop{ from{ opacity:0; transform:scale(.35); } to{ opacity:1; transform:scale(1); } }

/* tablet */
@media (max-width:991px){
  .dv_arc{ --R:205px; --t:94px; max-width:600px; }
  .dv_arc_title{ font-size:28px; }
}

/* mobile: drop the arc, show a clean captioned grid with heading on top */
@media (max-width:767px){
  .dv_arc_wrap{ display:flex; flex-direction:column-reverse; gap:26px; padding-top:0; }
  .dv_arc{ position:static; height:auto !important; width:100%; max-width:none;
           display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
  .dv_tile{ position:static; transform:none !important; margin:0 !important;
            width:auto; height:auto; display:flex; flex-direction:column; align-items:center; }
  .dv_tile_media{ width:92px; height:92px; border-radius:18px; animation:none !important; opacity:1 !important; }
  .dv_tile_label{ position:static; transform:none; opacity:1; pointer-events:auto;
                  margin-top:8px; background:transparent; border:0; padding:0;
                  font-size:11px; color:#b9aed6; white-space:normal; max-width:96px; text-align:center; }
  .dv_arc_center{ position:static; transform:none; width:100%; max-width:none; }
}

/* ===================== AI HUB / CIRCUIT SERVICE LAYOUT (fully animated) =====================
   Central AI chip with neon circuit traces flowing out to 7 service nodes.
   Icons are looping videos on glowing pedestals. Collapses to a card grid on mobile. */
.dv_hub_head{ margin-bottom:-20px; }
.dv_hub_head h2{ color:#fff; font-weight:800; text-transform:uppercase; letter-spacing:.5px; font-size:clamp(24px,3.4vw,40px); margin:0 0 10px; line-height:1.12; }
.dv_hub_head h2 span{ display:block; background:linear-gradient(90deg,#22d3ee,#38bdf8,#a855f7); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.dv_hub_head p{ color:#b9aed6; font-size:14px; max-width:560px; margin:0 auto; }

.dv_hub{ position:relative; width:100%; max-width:1140px; margin:14px auto 0; aspect-ratio:1024 / 620; }

/* circuit traces */
.dv_hub_svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; z-index:1; }
.dv_base path{ fill:none; stroke:rgba(255,255,255,.10); stroke-width:2.5; }
.dv_flow path{ fill:none; stroke:var(--c); stroke-width:2.5; stroke-linecap:round; stroke-dasharray:16 24; stroke-dashoffset:0; animation:dvFlow 1.3s linear infinite; animation-delay:var(--d); }
@keyframes dvFlow{ to{ stroke-dashoffset:-40; } }

/* central AI chip */
.dv_core{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:12%; aspect-ratio:1; z-index:3; display:flex; align-items:center; justify-content:center; }
.dv_core::before{ content:""; position:absolute; inset:-32%; border-radius:50%; z-index:0; background:radial-gradient(circle, rgba(56,189,248,.30), transparent 65%); animation:dvCoreGlow 2.4s ease-in-out infinite; }
.dv_core_ring{ position:absolute; inset:0; border-radius:50%; z-index:1; opacity:.9;
  background:conic-gradient(from 0deg,#22d3ee,#38bdf8,#a855f7,#ff3d8b,#22d3ee);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));
          mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));
  animation:heroSpin 6s linear infinite; }
.dv_core_chip{ position:relative; z-index:2; width:64%; height:64%; display:flex; align-items:center; justify-content:center;
  border-radius:24%; font-weight:800; letter-spacing:1px; color:#fff; font-size:clamp(15px,1.8vw,24px);
  background:linear-gradient(160deg,#1b2b6b,#0b1233); border:1px solid rgba(120,180,255,.5);
  box-shadow:0 0 24px rgba(56,189,248,.6), inset 0 0 14px rgba(56,189,248,.35);
  animation:dvCorePulse 2.4s ease-in-out infinite; }
@keyframes dvCorePulse{ 0%,100%{ box-shadow:0 0 20px rgba(56,189,248,.5), inset 0 0 12px rgba(56,189,248,.3);} 50%{ box-shadow:0 0 42px rgba(56,189,248,.9), inset 0 0 22px rgba(56,189,248,.55);} }
@keyframes dvCoreGlow{ 0%,100%{ opacity:.5;} 50%{ opacity:1;} }

/* nodes: children position directly onto the stage */
.dv_node{ display:contents; color:inherit; text-decoration:none; }

.dv_ic{
  position:absolute; left:var(--ix); top:var(--iy); width:10%; aspect-ratio:1; z-index:2;
  margin-left:-5%; margin-top:-5%;
  animation:dvFloat 4.5s ease-in-out infinite, dvFadeIn .6s ease both;
}
.dv_ic video{ width:100%; height:100%; object-fit:cover; display:block; border-radius:26%;
  border:2px solid var(--c); box-shadow:0 0 16px var(--c); transition:transform .35s ease; }
.dv_ic::before{ content:""; position:absolute; left:50%; bottom:-16%; transform:translateX(-50%);
  width:120%; height:30%; border-radius:50%; z-index:-1; opacity:.55; filter:blur(4px);
  background:radial-gradient(ellipse at center, var(--c), transparent 68%); }
.dv_ic::after{ content:""; position:absolute; inset:-16%; border-radius:30%; z-index:-2; filter:blur(7px);
  background:radial-gradient(circle, var(--c), transparent 60%); opacity:.25; animation:dvGlowPulse 3s ease-in-out infinite; }
.dv_node:hover .dv_ic video{ transform:scale(1.12); }

.dv_tx{ position:absolute; top:var(--iy); width:22%; z-index:2; animation:dvFadeIn .6s ease both; }
.dv_node--l .dv_tx{ left:calc(var(--ix) - 6%); transform:translate(-100%,-50%); text-align:right; }
.dv_node--r .dv_tx{ left:calc(var(--ix) + 6%); transform:translateY(-50%); text-align:left; }
.dv_node--b .dv_tx{ left:50%; top:calc(var(--iy) + 9%); transform:translateX(-50%); text-align:center; width:26%; }
.dv_tx b{ display:block; color:#fff; font-weight:700; line-height:1.2; margin-bottom:5px; font-size:clamp(14px,1.7vw,19px); }
.dv_tx small{ display:block; color:#a99fc7; line-height:1.45; font-size:clamp(11px,1.2vw,13.5px); }
.dv_node:hover .dv_tx b{ color:var(--c); }

/* staggered entrance */
.dv_hub .dv_node:nth-of-type(1) .dv_ic,.dv_hub .dv_node:nth-of-type(1) .dv_tx{ animation-delay:.10s,.10s; }
.dv_hub .dv_node:nth-of-type(2) .dv_ic,.dv_hub .dv_node:nth-of-type(2) .dv_tx{ animation-delay:.18s,.18s; }
.dv_hub .dv_node:nth-of-type(3) .dv_ic,.dv_hub .dv_node:nth-of-type(3) .dv_tx{ animation-delay:.26s,.26s; }
.dv_hub .dv_node:nth-of-type(4) .dv_ic,.dv_hub .dv_node:nth-of-type(4) .dv_tx{ animation-delay:.14s,.14s; }
.dv_hub .dv_node:nth-of-type(5) .dv_ic,.dv_hub .dv_node:nth-of-type(5) .dv_tx{ animation-delay:.22s,.22s; }
.dv_hub .dv_node:nth-of-type(6) .dv_ic,.dv_hub .dv_node:nth-of-type(6) .dv_tx{ animation-delay:.30s,.30s; }
.dv_hub .dv_node:nth-of-type(7) .dv_ic,.dv_hub .dv_node:nth-of-type(7) .dv_tx{ animation-delay:.38s,.38s; }

@keyframes dvFloat{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-6px);} }
@keyframes dvFadeIn{ from{ opacity:0;} to{ opacity:1;} }
@keyframes dvGlowPulse{ 0%,100%{ opacity:.18;} 50%{ opacity:.4;} }

/* tablet + mobile: VERTICAL HUB — 3 nodes, AI chip, then the rest,
   all joined by an animated dotted spine that flows into the chip */
@media (max-width:991px){
  .dv_hub{ aspect-ratio:auto; max-width:340px; margin:18px auto 0;
           display:flex; flex-direction:column; align-items:center; gap:48px; }
  .dv_hub_svg{ display:none !important; }

  /* animated dotted spine down the centre (behind nodes, into the chip) */
  .dv_hub::before{ content:""; position:absolute; top:8px; bottom:8px; left:50%; width:3px;
    transform:translateX(-50%); z-index:0; opacity:.9; border-radius:3px;
    background:repeating-linear-gradient(180deg,#38bdf8 0 7px, transparent 7px 20px);
    background-size:100% 20px; box-shadow:0 0 9px rgba(56,189,248,.7);
    animation:dvSpine .85s linear infinite; }

  /* AI chip in the middle (via order) */
  .dv_core{ display:flex !important; position:relative !important; left:auto !important; top:auto !important;
    transform:none !important; width:104px !important; height:104px; order:4; z-index:2; margin:0; }

  /* nodes: centred icon-over-text, transparent so the spine shows in the gaps */
  .dv_node{ display:flex !important; flex-direction:column; align-items:center; text-align:center;
    gap:9px; width:100%; position:relative; z-index:2; background:transparent; border:0; padding:0; }
  .dv_node--l:nth-of-type(1){ order:1; } .dv_node--l:nth-of-type(2){ order:2; } .dv_node--l:nth-of-type(3){ order:3; }
  .dv_node--r:nth-of-type(4){ order:5; } .dv_node--r:nth-of-type(5){ order:6; } .dv_node--r:nth-of-type(6){ order:7; }
  .dv_node--b{ order:8; }

  .dv_ic{ position:static !important; margin:0 !important; width:84px !important; height:84px; flex:0 0 auto;
          animation:dvFloat 4.5s ease-in-out infinite; }
  .dv_tx{ position:static !important; transform:none !important; width:100% !important; max-width:260px;
          text-align:center !important; }
  .dv_tx b{ font-size:16px; } .dv_tx small{ font-size:12.5px; }
}
@keyframes dvSpine{ to{ background-position:0 20px; } }
@media (max-width:575px){ .dv_hub{ max-width:300px; gap:40px; } .dv_ic{ width:76px !important; height:76px; } }
@media(max-width:991px)
{
	.dv_hub_head{ margin-bottom:30px; }
}

/* ===================== AI ASSISTANT SECTION ===================== */
.dv_assist_sec .title_border h4 span{ background:linear-gradient(90deg,#22d3ee,#38bdf8,#a855f7); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.dv_assist_sec .title_border h6{ color:#38bdf8; text-transform:uppercase; letter-spacing:2px; font-weight:700; font-size:13px; margin-bottom:6px; }

.dv_assist_list{ margin:22px 0 30px; }
.dv_assist_list li{ display:flex; align-items:flex-start; gap:10px; color:#cdc3e6; font-size:15px; line-height:1.5; margin-bottom:12px; }
.dv_assist_list li em{ color:#22d3ee; font-size:18px; margin-top:2px; flex:0 0 auto; }

.dv_assist_media{ position:relative; display:inline-block; max-width:300px; }
.dv_assist_glow{ position:absolute; inset:-10%; z-index:0; border-radius:50%; filter:blur(30px); opacity:.45;
  background:radial-gradient(circle, #a855f7, #38bdf8 55%, transparent 72%); animation:dvCoreGlow 2.6s ease-in-out infinite; }
.dv_assist_video{ position:relative; z-index:1; width:100%; display:block; border-radius:22px;
  border:2px solid rgba(120,180,255,.5); box-shadow:0 0 30px rgba(56,189,248,.45), 0 20px 45px rgba(0,0,0,.45);
  animation:dvFloat 5s ease-in-out infinite; }
.dv_assist_badge{ position:absolute; left:50%; bottom:14px; transform:translateX(-50%); z-index:2;
  display:inline-flex; align-items:center; gap:6px; padding:6px 16px; border-radius:30px; font-size:12px; font-weight:700;
  color:#fff; letter-spacing:.4px; background:rgba(16,7,34,.65); backdrop-filter:blur(4px);
  border:1px solid rgba(56,189,248,.6); box-shadow:0 0 14px rgba(56,189,248,.5); }
.dv_assist_badge em{ color:#22d3ee; animation:dvCorePulse 1.6s ease-in-out infinite; }

@media (max-width:991px){
  .dv_assist_media{ max-width:240px; margin-bottom:10px; }
}

/* ================= AI IN DIGITAL MARKETING SHOWCASE (HOME) ================= */
#ai_marketing_showcase .title_border h4 span{ background:linear-gradient(90deg,#ff3d8b,#ff7a3d); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
#ai_marketing_showcase .title_border h6{ color:#ff3d8b; text-transform:uppercase; letter-spacing:2px; font-weight:700; font-size:13px; margin-bottom:6px; }
#ai_marketing_showcase .dv_assist_list li em{ color:#ff3d8b; }
#ai_marketing_showcase .dvp_media{ max-width:520px; margin:0 auto; box-shadow:0 20px 45px rgba(0,0,0,.45); }
@media (max-width:991px){
  #ai_marketing_showcase .dvp_media{ max-width:420px; }
}
/* ===== Footer: social icons, payment methods, extra links ===== */
.dv_social{ display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 0; padding:0; }
.dv_social li a{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); color:#fff; font-size:16px; transition:all .25s ease; }
.dv_social li a:hover{ background:linear-gradient(135deg,#ff3d8b,#f59e0b); border-color:transparent; color:#fff; transform:translateY(-3px); }
.dv_pay_row{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 16px;
  margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }
.dv_pay_label{ color:rgba(255,255,255,.75); font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.dv_pay_label i{ margin-right:5px; color:#34d399; }
.dv_pay{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0; padding:0; }
.dv_pay_chip{ display:inline-flex; align-items:center; gap:10px; height:46px; padding:0 20px 0 7px; border-radius:999px; background:#fff;
  color:#1f2340; font-size:15px; font-weight:600; box-shadow:0 4px 14px rgba(0,0,0,.25); white-space:nowrap; }
.dv_pay_ic{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; color:#fff; font-size:17px; flex:0 0 34px; }
.dv_pay_ic.ic_gpay{ background:#1a73e8; font-size:15px; }
.dv_pay_ic.ic_phonepe{ background:#5f259f; font-size:20px; }
.dv_pay_ic.ic_paytm{ background:#00baf2; font-size:14px; }
.dv_pay_ic.ic_upi{ background:linear-gradient(135deg,#f59e0b,#f97316); }
.dv_pay_btn{ display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 24px; border-radius:999px;
  background:linear-gradient(135deg,#ff3d8b,#f59e0b); color:#fff !important; font-size:15px; font-weight:700;
  box-shadow:0 6px 18px rgba(255,61,139,.35); transition:transform .25s ease, box-shadow .25s ease; white-space:nowrap; }
.dv_pay_btn:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(255,61,139,.5); color:#fff; }
.footer_menu .dv_sales_login i{ margin-right:3px; }
@media (max-width:767px){
  .dv_pay_row{ flex-direction:column; }
  .footer_menu li{ margin:4px 6px; }
}
