/* ====================================================================
   Digital Vision Technology Pvt Ltd — Inner-page components
   Loaded on every page EXCEPT the single-page home (also safe there).
   Matches the DVTPL dark gradient theme (#100722 -> #8d0039) and the
   pink -> orange accent (#ff3d8b -> #ff7a3d).
   ==================================================================== */

:root{
  --dvp-pink:#ff3d8b;
  --dvp-orange:#ff7a3d;
  --dvp-grad:linear-gradient(90deg,#ff3d8b,#ff7a3d);
  --dvp-grad-135:linear-gradient(135deg,#ff5e9f 0%,#ff3d8b 40%,#8d0039 100%);
  --dvp-card:rgba(255,255,255,.04);
  --dvp-card-2:rgba(255,255,255,.06);
  --dvp-line:rgba(255,255,255,.10);
  --dvp-txt:#d9d2e6;
  --dvp-mut:#a99fc0;
}

/* keep long inner content from ever bleeding sideways */
html,body{ overflow-x:clip; }

/* ---------------- PAGE BANNER / BREADCRUMB ---------------- */
.dvp_banner{
  position:relative; z-index:2;
  padding:190px 0 70px;
  text-align:center;
  overflow:hidden;
}
.dvp_banner::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(1100px 320px at 50% -10%, rgba(255,61,139,.28), transparent 60%),
    radial-gradient(700px 300px at 15% 120%, rgba(124,58,237,.22), transparent 60%);
}
.dvp_banner .dvp_eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:600; letter-spacing:.4px; text-transform:uppercase;
  color:#fff; padding:7px 15px; border-radius:999px;
  background:linear-gradient(135deg,#ff3d8b,#8d0039);
  box-shadow:0 10px 26px rgba(141,0,57,.45); margin-bottom:18px;
}
.dvp_banner h1{
  font-family:'Poppins',sans-serif; font-weight:700; color:#fff;
  font-size:44px; line-height:1.15; margin:0 auto 14px; max-width:900px;
}
.dvp_banner h1 span{
  background:var(--dvp-grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.dvp_banner p.dvp_sub{
  color:var(--dvp-txt); font-size:17px; max-width:720px; margin:0 auto; line-height:1.7;
}
.dvp_crumb{
  display:inline-flex; flex-wrap:wrap; justify-content:center; gap:10px;
  list-style:none; padding:0; margin:22px 0 0;
  font-size:13.5px; color:var(--dvp-mut);
}
.dvp_crumb li{ display:inline-flex; align-items:center; gap:10px; }
.dvp_crumb li:not(:last-child)::after{ content:"\f105"; font-family:FontAwesome; color:rgba(255,255,255,.35); }
.dvp_crumb a{ color:var(--dvp-mut); transition:color .25s ease; }
.dvp_crumb a:hover{ color:var(--dvp-pink); }
.dvp_crumb li.active{ color:#fff; }

/* ---------------- GENERIC SECTION HELPERS ---------------- */
.dvp_kicker{
  display:inline-block; font-size:13px; font-weight:600; letter-spacing:.6px;
  text-transform:uppercase; margin-bottom:10px;
  background:var(--dvp-grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.dvp_lead{ color:var(--dvp-txt); font-size:16.5px; line-height:1.85; }
.dvp_lead p{ color:var(--dvp-txt); }
.dvp_lead h3{ color:#fff; font-family:'Poppins'; font-weight:600; font-size:24px; margin:26px 0 12px; }
.dvp_lead h2{ color:#fff; font-family:'Poppins'; font-weight:700; font-size:30px; margin:6px 0 14px; }
.dvp_lead strong,.dvp_lead b{ color:#fff; }
.dvp_lead a{ color:var(--dvp-pink); }
.dvp_lead ul{ list-style:none; padding:0; margin:16px 0 22px; }
.dvp_lead ul li{ position:relative; padding:0 0 12px 30px; color:var(--dvp-txt); line-height:1.7; }
.dvp_lead ul li::before{
  content:"\f00c"; font-family:FontAwesome; position:absolute; left:0; top:2px;
  width:20px; height:20px; font-size:11px; color:#fff; text-align:center; line-height:20px;
  border-radius:50%; background:linear-gradient(135deg,#ff3d8b,#8d0039);
}

/* ---------------- FEATURE / SERVICE CARD GRID ---------------- */
.dvp_grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.dvp_grid.cols-2{ grid-template-columns:repeat(2,1fr); }
.dvp_grid.cols-4{ grid-template-columns:repeat(4,1fr); }
.dvp_fcard{
  position:relative; height:100%;
  background:var(--dvp-card); border:1px solid var(--dvp-line);
  border-radius:16px; padding:30px 26px; overflow:hidden;
  transition:transform .4s ease, border-color .4s ease, background .4s ease;
}
.dvp_fcard::after{
  content:""; position:absolute; left:0; top:0; height:3px; width:0;
  background:var(--dvp-grad); transition:width .45s ease;
}
.dvp_fcard:hover{ transform:translateY(-8px); border-color:rgba(255,61,139,.4); background:var(--dvp-card-2); }
.dvp_fcard:hover::after{ width:100%; }
.dvp_fico{
  width:64px; height:64px; margin-bottom:18px; display:flex; align-items:center; justify-content:center;
  position:relative; color:#fff; font-size:26px;
}
.dvp_fico::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:var(--dvp-grad-135);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  filter:drop-shadow(0 12px 22px rgba(141,0,57,.5));
}
.dvp_fcard h5{ color:#fff; font-family:'Poppins'; font-weight:600; font-size:19px; margin:0 0 10px; }
.dvp_fcard p{ color:var(--dvp-mut); font-size:14.5px; line-height:1.72; margin:0; }
.dvp_fcard a.dvp_more{
  display:inline-flex; align-items:center; gap:7px; margin-top:16px;
  font-size:13.5px; font-weight:600; color:var(--dvp-pink);
}
.dvp_fcard a.dvp_more i{ transition:transform .3s ease; }
.dvp_fcard:hover a.dvp_more i{ transform:translateX(4px); }

/* numbered step variant */
.dvp_step .dvp_num{
  position:absolute; top:22px; right:24px; font-family:'Poppins'; font-weight:800;
  font-size:44px; line-height:1; color:rgba(255,255,255,.06);
}

/* ---------------- TWO-COLUMN CONTENT / MEDIA ---------------- */
.dvp_media{
  border-radius:18px; overflow:hidden; position:relative;
  border:1px solid var(--dvp-line); background:var(--dvp-card);
  aspect-ratio:4/3; min-height:300px;
}
.dvp_media img,.dvp_media video{ display:block; width:100%; height:100%; object-fit:cover; }
@supports not (aspect-ratio:1/1){ .dvp_media{ height:400px; } }
.dvp_media_glow{
  position:absolute; inset:-2px; z-index:-1; border-radius:20px;
  background:var(--dvp-grad-135); filter:blur(30px); opacity:.5;
}
.dvp_badgecard{
  position:absolute; left:18px; bottom:18px;
  background:rgba(16,7,34,.78); backdrop-filter:blur(6px);
  border:1px solid var(--dvp-line); border-radius:12px; padding:12px 16px;
  color:#fff; font-size:13px; display:flex; align-items:center; gap:10px;
}
.dvp_badgecard b{ background:var(--dvp-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; font-size:20px; }

/* ---------------- STAT STRIP (open / box-free) ---------------- */
.dvp_statband{ position:relative; padding:30px 0; }
/* soft open glow behind numbers — no card, no border */
.dvp_statband::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(60% 120% at 50% 50%, rgba(255,61,139,.14), transparent 70%);
}
/* thin gradient hairlines frame the whole strip, not each item */
.dvp_statband::after{
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,61,139,.55),rgba(255,122,61,.55),transparent);
}
.dvp_stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  border-bottom:1px solid transparent;
  border-image:linear-gradient(90deg,transparent,rgba(255,122,61,.55),rgba(255,61,139,.55),transparent) 1;
}
.dvp_stat{
  position:relative; text-align:center; padding:22px 18px;
  transition:transform .35s ease;
}
/* vertical hairline dividers between items only (open, not boxed) */
.dvp_stat:not(:last-child)::after{
  content:""; position:absolute; top:22%; right:0; height:56%; width:1px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.16),transparent);
}
.dvp_stat b{
  display:block; font-family:'Poppins'; font-weight:800; font-size:46px; line-height:1;
  background:var(--dvp-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  text-shadow:0 6px 30px rgba(255,61,139,.25);
}
.dvp_stat_bar{
  display:block; width:34px; height:3px; margin:12px auto 0; border-radius:3px;
  background:var(--dvp-grad); transform:scaleX(.55); transform-origin:center;
  transition:transform .4s ease, width .4s ease;
}
.dvp_stat:hover{ transform:translateY(-4px); }
.dvp_stat:hover .dvp_stat_bar{ transform:scaleX(1); width:46px; }
.dvp_stat span{ display:block; margin-top:12px; color:var(--dvp-txt); font-size:14px;
  letter-spacing:.3px; }

/* ---------------- ABOUT STORY (open prose, box-free) ---------------- */
.dvp_story{ max-width:960px; margin:0 auto; text-align:center; }
.dvp_story h4{ font-family:'Poppins'; font-weight:700; color:#fff; font-size:30px;
  line-height:1.25; margin:12px 0 0; }
.dvp_story h4 span{ background:var(--dvp-grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; }
.dvp_story h4::after{ content:""; display:block; width:64px; height:3px; margin:18px auto 0;
  border-radius:3px; background:var(--dvp-grad); }
.dvp_story_body{ margin-top:24px; text-align:left; }
.dvp_story_body p{ color:var(--dvp-txt); font-size:16px; line-height:1.85; margin:0 0 18px; }
.dvp_story_body p:last-child{ margin-bottom:0; }
.dvp_story_body strong{ color:#fff; font-weight:600; }

/* ---------------- PRICING ---------------- */
.dvp_price{
  position:relative; height:100%; background:var(--dvp-card); border:1px solid var(--dvp-line);
  border-radius:18px; padding:34px 28px; transition:transform .4s ease, border-color .4s;
}
.dvp_price:hover{ transform:translateY(-8px); border-color:rgba(255,61,139,.45); }
.dvp_price.pop{ border-color:rgba(255,61,139,.5); background:var(--dvp-card-2); }
.dvp_price .dvp_tag{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  font-size:11.5px; font-weight:600; letter-spacing:.4px; text-transform:uppercase;
  color:#fff; padding:6px 14px; border-radius:999px; background:var(--dvp-grad);
}
.dvp_price h5{ color:#fff; font-family:'Poppins'; font-weight:600; font-size:18px; margin:0 0 6px; }
.dvp_price .dvp_amt{ font-family:'Poppins'; font-weight:800; font-size:34px; color:#fff; }
.dvp_price .dvp_amt small{ font-size:14px; font-weight:400; color:var(--dvp-mut); }
.dvp_price ul{ list-style:none; padding:0; margin:20px 0 24px; }
.dvp_price ul li{ position:relative; padding:0 0 11px 26px; color:var(--dvp-txt); font-size:14px; }
.dvp_price ul li::before{ content:"\f00c"; font-family:FontAwesome; position:absolute; left:0; top:1px; color:var(--dvp-pink); font-size:12px; }

/* ---------------- CTA BAND ---------------- */
.dvp_cta{
  position:relative; z-index:2; margin:20px 0 0; border-radius:22px; overflow:hidden;
  padding:52px 40px; text-align:center;
  background:linear-gradient(135deg, rgba(255,61,139,.20), rgba(141,0,57,.28));
  border:1px solid rgba(255,61,139,.35);
}
.dvp_cta::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(600px 220px at 50% 0, rgba(255,122,61,.25), transparent 65%);
}
.dvp_cta h3{ color:#fff; font-family:'Poppins'; font-weight:700; font-size:30px; margin:0 0 10px; }
.dvp_cta p{ color:var(--dvp-txt); max-width:640px; margin:0 auto 24px; font-size:16px; }
.dvp_cta .btn{ margin:5px; }

/* ---------------- PORTFOLIO ---------------- */
.dvp_pfilter{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:34px; }
.dvp_pfilter button{
  border:1px solid var(--dvp-line); background:transparent; color:var(--dvp-txt);
  border-radius:999px; padding:9px 20px; font-size:13.5px; font-weight:500; cursor:pointer;
  transition:all .3s ease;
}
.dvp_pfilter button.active,.dvp_pfilter button:hover{
  color:#fff; border-color:transparent; background:var(--dvp-grad);
}
.dvp_pgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.dvp_pitem{
  position:relative; border-radius:16px; overflow:hidden; border:1px solid var(--dvp-line);
  background:var(--dvp-card); min-height:230px; display:flex; flex-direction:column; justify-content:flex-end;
  padding:24px; transition:transform .4s ease, border-color .4s;
}
.dvp_pitem::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(160deg, rgba(255,61,139,.14), rgba(16,7,34,.2) 55%, rgba(16,7,34,.6));
}
.dvp_pitem:hover{ transform:translateY(-8px); border-color:rgba(255,61,139,.45); }
.dvp_pitem .dvp_pmeta{ position:relative; z-index:1; }
.dvp_pitem .dvp_ptag{
  display:inline-block; font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.4px;
  color:#fff; padding:4px 11px; border-radius:999px; background:rgba(255,61,139,.25);
  border:1px solid rgba(255,61,139,.4); margin-bottom:12px;
}
.dvp_pitem h5{ color:#fff; font-family:'Poppins'; font-weight:600; font-size:19px; margin:0 0 6px; }
.dvp_pitem p{ color:var(--dvp-mut); font-size:13.5px; margin:0; }
.dvp_pitem .dvp_pico{
  position:absolute; top:20px; right:20px; z-index:1; width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px;
  background:linear-gradient(135deg,#ff3d8b,#8d0039);
}

/* ---------------- CAREER ---------------- */
.dvp_job{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px;
  background:var(--dvp-card); border:1px solid var(--dvp-line); border-radius:16px;
  padding:24px 26px; margin-bottom:18px; transition:border-color .35s ease, transform .35s ease;
}
.dvp_job:hover{ border-color:rgba(255,61,139,.4); transform:translateX(4px); }
.dvp_job h5{ color:#fff; font-family:'Poppins'; font-weight:600; font-size:19px; margin:0 0 6px; }
.dvp_job .dvp_jmeta{ display:flex; flex-wrap:wrap; gap:16px; color:var(--dvp-mut); font-size:13.5px; }
.dvp_job .dvp_jmeta span{ display:inline-flex; align-items:center; gap:6px; }
.dvp_job .dvp_jmeta i{ color:var(--dvp-pink); }

/* ---------------- CONTACT ---------------- */
.dvp_infocard{
  display:flex; gap:16px; align-items:flex-start; padding:22px;
  background:var(--dvp-card); border:1px solid var(--dvp-line); border-radius:14px;
  height:100%; transition:border-color .35s ease, transform .35s ease;
}
.dvp_infocard:hover{ border-color:rgba(255,61,139,.4); transform:translateY(-5px); }
.dvp_infocard .dvp_iico{
  flex:0 0 auto; width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:22px; background:linear-gradient(135deg,#ff3d8b,#8d0039);
}
.dvp_infocard h6{ color:#fff; font-family:'Poppins'; font-weight:600; margin:0 0 6px; font-size:16px; }
.dvp_infocard p,.dvp_infocard a{ color:var(--dvp-mut); font-size:14px; margin:0; word-break:break-word; }
.dvp_infocard a:hover{ color:var(--dvp-pink); }
.dvp_map{ border-radius:16px; overflow:hidden; border:1px solid var(--dvp-line); line-height:0; }
.dvp_map iframe{ width:100%; height:360px; border:0; filter:grayscale(.3) contrast(1.05); }

/* ---------------- FLOATING WHATSAPP + CALL ---------------- */
.dvp_float{ position:fixed; bottom:100px; z-index:60;display:none }
.dvp_float a{
  width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:26px; box-shadow:0 10px 26px rgba(0,0,0,.35); position:relative;
}
.dvp_float.wa{ left:22px; }
.dvp_float.ph{ right:22px; }
.dvp_float.wa a{ background:#25d366; }
.dvp_float.ph a{ background:var(--dvp-grad); }
.dvp_float a::after{
  content:""; position:absolute; inset:0; border-radius:50%; z-index:-1;
  animation:dvpPulse 2s ease-out infinite;
}
.dvp_float.wa a::after{ box-shadow:0 0 0 0 rgba(37,211,102,.55); }
.dvp_float.ph a::after{ box-shadow:0 0 0 0 rgba(255,61,139,.55); }
@keyframes dvpPulse{ 0%{ box-shadow:0 0 0 0 rgba(255,255,255,.4);} 70%{ box-shadow:0 0 0 16px rgba(255,255,255,0);} 100%{ box-shadow:0 0 0 0 rgba(255,255,255,0);} }

/* ---------------- SCROLL REVEAL (IntersectionObserver) ---------------- */
.dvp_rev{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.dvp_rev.in{ opacity:1; transform:none; }

/* keep the promo marquee alive even under reduced-motion (no silent freeze) */
@media (prefers-reduced-motion:reduce){
  .dv_marquee_track{ animation:dvMarquee 32s linear infinite !important; }
}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:991px){
  .dvp_banner{ padding:150px 0 54px; }
  .dvp_banner h1{ font-size:34px; }
  .dvp_grid,.dvp_grid.cols-4{ grid-template-columns:repeat(2,1fr); }
  .dvp_stats{ grid-template-columns:repeat(2,1fr); row-gap:14px; }
  .dvp_stat:nth-child(2n)::after{ display:none; }
  .dvp_pgrid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:575px){
  .dvp_banner{ padding:130px 0 44px; }
  .dvp_banner h1{ font-size:27px; }
  .dvp_banner p.dvp_sub{ font-size:15px; }
  .dvp_grid,.dvp_grid.cols-2,.dvp_grid.cols-4,.dvp_stats,.dvp_pgrid{ grid-template-columns:1fr; }
  .dvp_stats{ row-gap:6px; }
  .dvp_stat::after{ display:none !important; }
  .dvp_stat b{ font-size:40px; }
  .dvp_cta{ padding:38px 22px; }
  .dvp_cta h3{ font-size:23px; }
  .dvp_lead h2{ font-size:24px; }
  .dvp_float a{ width:48px; height:48px; font-size:23px; }
}

/* ================================================================
   BANNER VIDEO BACKGROUND (breadcrumb section)
   ================================================================ */
.dvp_banner_v .dvp_banner_vid{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:-3; pointer-events:none;
}
.dvp_banner_v .dvp_banner_ov{
  content:""; position:absolute; inset:0; z-index:-2;
  background:
    linear-gradient(180deg, rgba(16,7,34,.78) 0%, rgba(16,7,34,.72) 45%, rgba(16,7,34,.92) 100%),
    linear-gradient(90deg, rgba(141,0,57,.25), rgba(124,58,237,.20));
}

/* ================================================================
   ABOUT — MISSION / VISION / VALUES (glassy cards)
   ================================================================ */
.dvp_mvv{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.dvp_mvv_card{
  position:relative; padding:40px 30px 34px; border-radius:26px; overflow:hidden;
  background:linear-gradient(160deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border:1px solid var(--dvp-line); backdrop-filter:blur(8px);
  transition:transform .5s ease, box-shadow .5s ease, border-color .5s ease;
}
.dvp_mvv_card::before{
  content:""; position:absolute; top:-50px; right:-50px; width:170px; height:170px;
  border-radius:50%; background:var(--dvp-grad-135); filter:blur(52px); opacity:.38;
  transition:opacity .5s ease;
}
.dvp_mvv_card:hover{ transform:translateY(-8px); border-color:rgba(255,61,139,.5);
  box-shadow:0 26px 60px rgba(141,0,57,.38); }
.dvp_mvv_card:hover::before{ opacity:.62; }
.dvp_mvv_ico{
  position:absolute; top:26px; right:26px; width:66px; height:66px; border-radius:50%;
  display:grid; place-items:center; color:#fff; z-index:1;
  background:radial-gradient(circle at 32% 30%, #ff9a5a, #ff2d76 70%);
  box-shadow:0 0 0 6px rgba(255,61,139,.12), 0 12px 32px rgba(255,45,118,.55);
  animation:dvpIcoPulse 3.6s ease-in-out infinite;
}
.dvp_mvv_ico svg{ width:38px; height:38px; display:block; filter:drop-shadow(0 3px 6px rgba(0,0,0,.35)); }
@keyframes dvpIcoPulse{
  0%,100%{ box-shadow:0 0 0 6px rgba(255,61,139,.12), 0 12px 32px rgba(255,45,118,.55); }
  50%{ box-shadow:0 0 0 13px rgba(255,61,139,.04), 0 16px 44px rgba(255,45,118,.75); }
}
.dvp_mvv_card h3{ position:relative; color:#fff; font-size:23px; font-weight:700;
  margin:8px 0 14px; max-width:72%; }
.dvp_mvv_card p{ position:relative; color:var(--dvp-txt); font-size:15px; line-height:1.75; margin:0; }
.dvp_vlist{ position:relative; margin:2px 0 0; padding:0; list-style:none; }
.dvp_vlist li{ margin-bottom:13px; padding-left:20px; position:relative; }
.dvp_vlist li::before{ content:"\f00c"; font-family:FontAwesome; position:absolute; left:0; top:2px;
  font-size:11px; color:var(--dvp-pink); }
.dvp_vlist b{ display:block; color:#fff; font-size:15px; line-height:1.4; }
.dvp_vlist span{ color:var(--dvp-mut); font-size:13.5px; }

/* ===== ABOUT — organic blob MVV cards (reference match) ===== */
.dvp_mvv2{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:start; }
.dvp_blob{
  position:relative; padding:40px 34px 42px; min-height:326px; overflow:hidden;
  border:1px solid rgba(255,255,255,.15); backdrop-filter:blur(12px);
  background:linear-gradient(160deg, rgba(255,255,255,.11), rgba(255,255,255,.025));
  box-shadow:0 30px 62px rgba(0,0,0,.42);
  transition:transform .5s ease, box-shadow .5s ease;
}
.dvp_blob::before{ content:""; position:absolute; inset:0; z-index:0; }
.dvp_blob>*{ position:relative; z-index:1; }
.dvp_blob:hover{ transform:translateY(-7px); box-shadow:0 42px 84px rgba(141,0,57,.36); }
.dvp_blob h3{ color:#fff; font-size:24px; font-weight:700; margin:0 0 14px; }
.dvp_blob p{ color:var(--dvp-txt); font-size:15px; line-height:1.75; margin:0; max-width:76%; }
.b_mission{ border-radius:86px 34px 80px 40px / 56px 86px 42px 86px; }
.b_mission::before{ background:
  radial-gradient(90% 70% at 24% 6%, rgba(46,230,198,.24), transparent 55%),
  radial-gradient(115% 95% at 86% 116%, rgba(255,61,139,.32), transparent 60%); }
.b_vision{ margin-top:-26px; border-radius:40px 86px 40px 82px / 86px 52px 86px 46px; }
.b_vision::before{ background:
  radial-gradient(90% 70% at 32% 5%, rgba(150,120,255,.26), transparent 55%),
  radial-gradient(115% 95% at 70% 118%, rgba(255,61,139,.30), transparent 60%); }
.b_vision p{ max-width:100%; }
.b_values{ margin-top:16px; border-radius:82px 40px 86px 34px / 52px 86px 46px 86px; }
.b_values::before{ background:
  radial-gradient(90% 70% at 78% 5%, rgba(255,94,159,.30), transparent 55%),
  radial-gradient(115% 95% at 28% 118%, rgba(150,90,255,.26), transparent 60%); }
.b_values .dvp_vlist{ max-width:72%; }
.bico_tr{ position:absolute; top:22px; right:20px; width:118px; height:108px; z-index:2; }
.bico_tr svg{ width:100%; height:100%; overflow:visible; }
.bico_center{ display:flex; justify-content:center; margin-top:20px; }
.bico_center svg{ width:190px; height:120px; overflow:visible; }
@media (max-width:991px){
  .dvp_mvv2{ grid-template-columns:1fr; }
  .b_vision, .b_values{ margin-top:0; }
  .dvp_blob p, .b_values .dvp_vlist{ max-width:100%; }
  .bico_tr{ position:static; margin:0 0 14px; width:110px; height:100px; }
  .bico_center{ justify-content:flex-start; }
}

/* ================================================================
   ABOUT — WHY CHOOSE (isometric hexagon network)
   ================================================================ */
.dvp_hexgrid{ display:flex; flex-direction:column; gap:34px; position:relative; }
.dvp_hexrow{ display:flex; align-items:flex-start; justify-content:center; gap:8px; }
.dvp_hexcell{ flex:1 1 0; max-width:320px; text-align:center; }
.dvp_ped{ width:196px; height:auto; display:block; margin:0 auto 14px;
  animation:dvpFloat 5.5s ease-in-out infinite;
  filter:drop-shadow(0 22px 26px rgba(0,0,0,.45)); }
.dvp_hexcell:hover .dvp_ped{ animation-play-state:paused; filter:drop-shadow(0 26px 34px rgba(0,0,0,.6)) brightness(1.08); }
.dvp_hexcell h4{ color:#fff; font-size:19px; font-weight:700; margin:0 0 10px; }
.dvp_hexcell p{ color:var(--dvp-txt); font-size:14.5px; line-height:1.7; margin:0 auto; max-width:290px; }
@keyframes dvpFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-11px); } }
.dvp_hexrow .dvp_hexcell:nth-child(3) .dvp_ped{ animation-delay:.9s; }
.dvp_hexrow .dvp_hexcell:nth-child(5) .dvp_ped{ animation-delay:1.8s; }
/* connector nodes */
.dvp_node{ flex:0 0 auto; align-self:flex-start; margin-top:66px; position:relative; width:24px; height:24px; }
.dvp_node span{ position:absolute; inset:0; transform:rotate(45deg); border-radius:7px;
  background:linear-gradient(135deg,#ff5e9f,#7c3aed);
  box-shadow:0 0 22px rgba(255,45,118,.75); animation:dvpNode 3s ease-in-out infinite; }
.dvp_node::before,.dvp_node::after{ content:""; position:absolute; top:50%; width:46px; height:2px;
  transform:translateY(-50%); }
.dvp_node::before{ right:100%; background:linear-gradient(90deg, transparent, rgba(255,61,139,.55)); }
.dvp_node::after{ left:100%; background:linear-gradient(90deg, rgba(255,61,139,.55), transparent); }
@keyframes dvpNode{ 0%,100%{ transform:rotate(45deg) scale(1); opacity:.85; }
  50%{ transform:rotate(45deg) scale(1.25); opacity:1; } }

@media (max-width:991px){
  .dvp_mvv{ grid-template-columns:1fr; }
  .dvp_hexrow{ flex-wrap:wrap; gap:26px; }
  .dvp_node{ display:none; }
  .dvp_hexcell{ flex:1 1 40%; }
}
@media (max-width:575px){
  .dvp_hexcell{ flex:1 1 100%; }
}
@media (prefers-reduced-motion:reduce){
  .dvp_mvv_ico,.dvp_ped,.dvp_node span{ animation:none !important; }
}

/* ====================================================================
   WHAT'S INCLUDED — orbital AI hub (matches the home "Our Services" hub)
   Icon-based nodes instead of video; 6 features around a service core.
   Reuses keyframes from dvtpl-override.css (dvFlow, dvFloat, dvFadeIn,
   dvGlowPulse, dvCoreGlow, dvCorePulse, heroSpin, dvSpine).
   ==================================================================== */
.wi_hub{ position:relative; width:100%; max-width:1080px; margin:22px auto 0; aspect-ratio:1024/620; }
.wi_svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; z-index:1; }
.wi_svg .wi_base path{ fill:none; stroke:rgba(255,255,255,.10); stroke-width:2.5; }
.wi_svg .wi_flow path{ fill:none; stroke:var(--c); stroke-width:2.5; stroke-linecap:round;
  stroke-dasharray:16 24; animation:dvFlow 1.3s linear infinite; animation-delay:var(--d); }

/* central service core */
.wi_core{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:13%; aspect-ratio:1; z-index:3; display:flex; align-items:center; justify-content:center; }
.wi_core::before{ content:""; position:absolute; inset:-34%; border-radius:50%; z-index:0;
  background:radial-gradient(circle, rgba(255,61,139,.32), transparent 66%); animation:dvCoreGlow 2.4s ease-in-out infinite; }
.wi_ring{ position:absolute; inset:0; border-radius:50%; z-index:1; opacity:.95;
  background:conic-gradient(from 0deg,#ff3d8b,#ff7a3d,#a855f7,#38bdf8,#ff3d8b);
  -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; }
.wi_chip{ position:relative; z-index:2; width:66%; height:66%; display:flex; align-items:center; justify-content:center;
  border-radius:24%; color:#fff; font-size:clamp(22px,2.6vw,34px);
  background:linear-gradient(160deg,#3a0d3a,#12071f); border:1px solid rgba(255,120,180,.5);
  box-shadow:0 0 24px rgba(255,61,139,.55), inset 0 0 14px rgba(255,61,139,.35);
  animation:dvCorePulse 2.4s ease-in-out infinite; }

/* nodes render their children straight onto the stage */
.wi_node{ display:contents; }
.wi_ic{ position:absolute; left:var(--ix); top:var(--iy); width:9.2%; aspect-ratio:1; z-index:2;
  margin-left:-4.6%; margin-top:-4.6%; display:flex; align-items:center; justify-content:center;
  border-radius:26%; color:#fff; font-size:clamp(18px,1.9vw,26px);
  background:linear-gradient(160deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border:2px solid var(--c); box-shadow:0 0 16px var(--c);
  animation:dvFloat 4.5s ease-in-out infinite, dvFadeIn .6s ease both; }
.wi_ic::after{ content:""; position:absolute; inset:-16%; border-radius:30%; z-index:-1; filter:blur(7px);
  background:radial-gradient(circle, var(--c), transparent 60%); opacity:.28; animation:dvGlowPulse 3s ease-in-out infinite; }

.wi_tx{ position:absolute; top:var(--iy); width:22%; z-index:2; animation:dvFadeIn .6s ease both; }
.wi_node--l .wi_tx{ left:calc(var(--ix) - 6%); transform:translate(-100%,-50%); text-align:right; }
.wi_node--r .wi_tx{ left:calc(var(--ix) + 6%); transform:translateY(-50%); text-align:left; }
.wi_tx b{ display:block; color:#fff; font-weight:700; line-height:1.2; margin-bottom:5px; font-size:clamp(14px,1.6vw,18px); }
.wi_tx small{ display:block; color:var(--dvp-mut); line-height:1.5; font-size:clamp(11px,1.15vw,13px); }
.wi_node:hover .wi_ic{ box-shadow:0 0 26px var(--c); }
.wi_node:hover .wi_tx b{ color:var(--c); }

/* staggered entrance */
.wi_hub .wi_node:nth-of-type(1) .wi_ic,.wi_hub .wi_node:nth-of-type(1) .wi_tx{ animation-delay:.10s,.10s; }
.wi_hub .wi_node:nth-of-type(2) .wi_ic,.wi_hub .wi_node:nth-of-type(2) .wi_tx{ animation-delay:.18s,.18s; }
.wi_hub .wi_node:nth-of-type(3) .wi_ic,.wi_hub .wi_node:nth-of-type(3) .wi_tx{ animation-delay:.26s,.26s; }
.wi_hub .wi_node:nth-of-type(4) .wi_ic,.wi_hub .wi_node:nth-of-type(4) .wi_tx{ animation-delay:.14s,.14s; }
.wi_hub .wi_node:nth-of-type(5) .wi_ic,.wi_hub .wi_node:nth-of-type(5) .wi_tx{ animation-delay:.22s,.22s; }
.wi_hub .wi_node:nth-of-type(6) .wi_ic,.wi_hub .wi_node:nth-of-type(6) .wi_tx{ animation-delay:.30s,.30s; }

/* tablet + mobile: vertical hub with an animated dotted spine (mirrors home) */
@media (max-width:991px){
  .wi_hub{ aspect-ratio:auto; max-width:360px; margin:24px auto 0;
    display:flex; flex-direction:column; align-items:center; gap:40px; }
  .wi_svg{ display:none !important; }
  .wi_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,#ff3d8b 0 7px, transparent 7px 20px);
    background-size:100% 20px; box-shadow:0 0 9px rgba(255,61,139,.7); animation:dvSpine .85s linear infinite; }
  .wi_core{ position:relative !important; left:auto !important; top:auto !important; transform:none !important;
    width:96px !important; height:96px; order:4; margin:0; z-index:2; }
  .wi_node{ display:flex !important; flex-direction:column; align-items:center; text-align:center;
    gap:10px; width:100%; position:relative; z-index:2; }
  .wi_node:nth-of-type(1){ order:1; } .wi_node:nth-of-type(2){ order:2; } .wi_node:nth-of-type(3){ order:3; }
  .wi_node:nth-of-type(4){ order:5; } .wi_node:nth-of-type(5){ order:6; } .wi_node:nth-of-type(6){ order:7; }
  .wi_ic{ position:static !important; margin:0 !important; width:74px !important; height:74px; font-size:26px; flex:0 0 auto; }
  .wi_tx{ position:static !important; transform:none !important; width:100% !important; max-width:280px; text-align:center !important; }
  .wi_tx b{ font-size:16px; } .wi_tx small{ font-size:12.5px; }
}
@media (max-width:575px){ .wi_hub{ max-width:310px; gap:34px; } .wi_ic{ width:66px !important; height:66px; font-size:23px; } }

/* ====================================================================
   OUR PROCESS — connected step road (no boxes)
   Numbered glowing nodes on an animated flow line; text sits open below.
   ==================================================================== */
.pr_road{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  max-width:1040px; margin:34px auto 0; }
.pr_road::before{ content:""; position:absolute; top:34px; left:12.5%; right:12.5%; height:2px; z-index:0;
  background:rgba(255,255,255,.12); }
.pr_road::after{ content:""; position:absolute; top:34px; left:12.5%; right:12.5%; height:2px; z-index:1;
  background:repeating-linear-gradient(90deg,#ff3d8b 0 10px, transparent 10px 26px); background-size:26px 100%;
  box-shadow:0 0 8px rgba(255,61,139,.6); animation:dvProcess 1.1s linear infinite; }
@keyframes dvProcess{ to{ background-position:26px 0; } }

.pr_step{ position:relative; z-index:2; text-align:center; padding:0 6px; }
.pr_dot{ position:relative; width:68px; height:68px; margin:0 auto 18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; }
.pr_dot::before{ content:""; position:absolute; inset:0; border-radius:50%; padding:2px;
  background:conic-gradient(from 0deg,#ff3d8b,#ff7a3d,#a855f7,#ff3d8b);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; animation:heroSpin 7s linear infinite; }
.pr_dot::after{ content:""; position:absolute; inset:6px; border-radius:50%; z-index:0;
  background:radial-gradient(circle at 50% 35%,#2a0b2e,#100722); box-shadow:inset 0 0 12px rgba(255,61,139,.35); }
.pr_num{ position:relative; z-index:1; font-family:'Poppins',sans-serif; font-weight:800; font-size:24px; color:#fff;
  text-shadow:0 0 12px rgba(255,61,139,.7); }
.pr_step:hover .pr_dot::after{ box-shadow:inset 0 0 18px rgba(255,61,139,.6); }
.pr_step h5{ color:#fff; font-family:'Poppins'; font-weight:600; font-size:18px; margin:0 0 8px; }
.pr_step p{ color:var(--dvp-mut); font-size:14px; line-height:1.66; margin:0 auto; max-width:230px; }

/* tablet: 2 across, drop the horizontal rail */
@media (max-width:991px){
  .pr_road{ grid-template-columns:repeat(2,1fr); gap:34px 20px; max-width:520px; }
  .pr_road::before,.pr_road::after{ display:none; }
}
/* mobile: single vertical rail on the left, text to the right */
@media (max-width:575px){
  .pr_road{ grid-template-columns:1fr; gap:0; max-width:360px; }
  .pr_road::before{ display:block; top:0; bottom:0; left:34px; right:auto; width:2px; height:auto; }
  .pr_road::after{ display:block; top:0; bottom:0; left:34px; right:auto; width:2px; height:auto;
    background:repeating-linear-gradient(180deg,#ff3d8b 0 10px, transparent 10px 26px); background-size:100% 26px;
    animation:dvProcessV 1.1s linear infinite; }
  @keyframes dvProcessV{ to{ background-position:0 26px; } }
  .pr_step{ display:grid; grid-template-columns:68px 1fr; grid-template-rows:auto auto;
    column-gap:16px; row-gap:6px; text-align:left; padding:16px 0; }
  .pr_dot{ grid-column:1; grid-row:1 / span 2; align-self:start; margin:0; }
  .pr_step h5{ grid-column:2; grid-row:1; align-self:center; margin:0 0 2px; }
  .pr_step p{ grid-column:2; grid-row:2; margin:0; max-width:none; }
}
@media (prefers-reduced-motion:reduce){
  .wi_ic,.wi_ring,.wi_chip,.wi_core::before,.wi_flow path,.pr_road::after,.pr_dot::before{ animation:none !important; }
}

/* ====================================================================
   WHY CHOOSE US — AI reason orbs (no box)
   3 floating holographic icon orbs on an animated neural line with a
   travelling data pulse. Reuses heroSpin + dvFloat from override.
   ==================================================================== */
.wc_ai{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:30px;
  max-width:1000px; margin:42px auto 0; }
/* neural connecting line + travelling pulse (desktop/tablet) */
.wc_ai::before{ content:""; position:absolute; top:60px; left:17%; right:17%; height:2px; z-index:0;
  background:linear-gradient(90deg, transparent, rgba(255,61,139,.45), rgba(56,189,248,.45), rgba(168,85,247,.45), transparent); }
.wc_ai::after{ content:""; position:absolute; top:56px; left:17%; right:17%; height:10px; z-index:1;
  background:radial-gradient(circle at 6px 50%, rgba(120,230,255,.95), rgba(120,230,255,0) 8px);
  background-size:170px 100%; background-repeat:no-repeat; filter:blur(.3px);
  animation:wcPulse 2.8s linear infinite; }
@keyframes wcPulse{ 0%{ background-position:-30px 0; opacity:0; } 12%{ opacity:1; } 88%{ opacity:1; } 100%{ background-position:calc(100% + 30px) 0; opacity:0; } }

.wc_item{ position:relative; z-index:2; text-align:center; }
.wc_item:nth-child(1){ --c:#ff3d8b; } .wc_item:nth-child(2){ --c:#a855f7; } .wc_item:nth-child(3){ --c:#38bdf8; }
.wc_orb{ position:relative; width:120px; height:120px; margin:0 auto 22px;
  display:flex; align-items:center; justify-content:center; animation:dvFloat 5s ease-in-out infinite; }
.wc_orb i{ position:relative; z-index:3; font-size:38px; color:#fff; text-shadow:0 0 16px var(--c); }
/* pulsing core */
.wc_orb::before{ content:""; position:absolute; inset:16px; border-radius:50%; z-index:0;
  background:radial-gradient(circle at 50% 40%, rgba(255,255,255,.10), rgba(16,7,34,.85) 72%);
  box-shadow:inset 0 0 22px -2px var(--c), 0 0 34px -8px var(--c); animation:wcGlow 2.6s ease-in-out infinite; }
@keyframes wcGlow{ 0%,100%{ box-shadow:inset 0 0 18px -4px var(--c), 0 0 24px -10px var(--c); } 50%{ box-shadow:inset 0 0 26px 0 var(--c), 0 0 44px -6px var(--c); } }
/* outer rotating conic ring */
.wc_orb::after{ content:""; position:absolute; inset:0; border-radius:50%; z-index:1; opacity:.9;
  background:conic-gradient(from 0deg, var(--c), transparent 26%, var(--c) 50%, transparent 76%, var(--c));
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  animation:heroSpin 5s linear infinite; }
/* inner counter-rotating ring */
.wc_ring{ position:absolute; inset:15px; border-radius:50%; z-index:2; opacity:.75;
  background:conic-gradient(from 180deg, transparent, var(--c) 30%, transparent 62%);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
  animation:heroSpin 3.6s linear infinite reverse; }
.wc_item:hover .wc_orb{ animation-play-state:paused; }
.wc_item:hover .wc_orb i{ color:var(--c); }
.wc_item h5{ color:#fff; font-family:'Poppins'; font-weight:600; font-size:19px; margin:0 0 10px; }
.wc_item p{ color:var(--dvp-mut); font-size:14.5px; line-height:1.7; margin:0 auto; max-width:300px; }

@media (max-width:767px){
  .wc_ai{ grid-template-columns:1fr; gap:40px; max-width:340px; }
  .wc_ai::before,.wc_ai::after{ display:none; }
}

/* ====================================================================
   MISSION / VISION / VALUES — open holographic columns (no box)
   Keeps the custom SVG icons; wraps them in a floating animated halo
   with a rotating orbit ring; animated shimmer divider between columns.
   ==================================================================== */
.mvv_flow{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:36px;
  max-width:1080px; margin:42px auto 0; }
.mvv_col{ position:relative; text-align:center; padding:0 8px; }
.mvv_col + .mvv_col::after{ content:""; position:absolute; left:-19px; top:24px; bottom:24px; width:1px; z-index:0;
  background:linear-gradient(180deg, transparent, rgba(255,61,139,.55), rgba(56,189,248,.4), transparent);
  animation:mvvShimmer 3.2s ease-in-out infinite; }
@keyframes mvvShimmer{ 0%,100%{ opacity:.35; } 50%{ opacity:1; } }

.mvv_halo{ position:relative; width:172px; height:172px; margin:0 auto 20px;
  display:flex; align-items:center; justify-content:center; }
.mvv_halo svg{ position:relative; z-index:3; width:120px; height:auto; overflow:visible;
  animation:dvFloat 5.5s ease-in-out infinite; filter:drop-shadow(0 8px 24px rgba(56,189,248,.28)); }
/* pulsing halo glow */
.mvv_halo::before{ content:""; position:absolute; inset:26px; border-radius:50%; z-index:0;
  background:radial-gradient(circle, rgba(56,189,248,.28), rgba(168,85,247,.14) 55%, transparent 72%);
  animation:dvCoreGlow 2.8s ease-in-out infinite; }
/* rotating dashed orbit ring */
.mvv_halo::after{ content:""; position:absolute; inset:0; border-radius:50%; z-index:1;
  border:1px dashed rgba(120,200,255,.45);
  -webkit-mask:radial-gradient(farthest-side, transparent 78%, #000 82%);
          mask:radial-gradient(farthest-side, transparent 78%, #000 82%);
  animation:heroSpin 16s linear infinite; }
.mvv_col:nth-child(2) .mvv_halo::before{ background:radial-gradient(circle, rgba(168,85,247,.30), rgba(56,189,248,.14) 55%, transparent 72%); }
.mvv_col:nth-child(3) .mvv_halo::before{ background:radial-gradient(circle, rgba(255,61,139,.30), rgba(168,85,247,.14) 55%, transparent 72%); }

.mvv_col h3{ color:#fff; font-family:'Poppins'; font-weight:700; font-size:23px; margin:0 0 12px;
  background:var(--dvp-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.mvv_col p{ color:var(--dvp-txt); font-size:15px; line-height:1.75; margin:0 auto; max-width:330px; }
.mvv_col .dvp_vlist{ display:inline-block; text-align:left; max-width:320px; margin-top:2px; }

@media (max-width:991px){
  .mvv_flow{ grid-template-columns:1fr; gap:44px; max-width:460px; }
  .mvv_col + .mvv_col::after{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .wc_orb,.wc_orb::before,.wc_orb::after,.wc_ring,.wc_ai::after,
  .mvv_halo svg,.mvv_halo::before,.mvv_halo::after,.mvv_col + .mvv_col::after{ animation:none !important; }
}

/* ====================================================================
   CAREER — "Why Work With Us" alternating AI timeline (no box)
   Central animated spine; perks alternate left/right with glowing
   icon badges. Reuses heroSpin + dvFloat + dvSpine from override.
   ==================================================================== */
.ww_time{ position:relative; max-width:900px; margin:46px auto 0; }
.ww_time::before{ content:""; position:absolute; top:6px; bottom:6px; left:50%; width:3px;
  transform:translateX(-50%); z-index:0; border-radius:3px; opacity:.9;
  background:repeating-linear-gradient(180deg,#ff3d8b 0 8px, transparent 8px 22px); background-size:100% 22px;
  box-shadow:0 0 10px rgba(255,61,139,.6); animation:dvSpine .9s linear infinite; }
.ww_item{ position:relative; min-height:78px; margin-bottom:34px; }
.ww_item:last-child{ margin-bottom:0; }
.ww_item:nth-child(1){ --c:#ff3d8b; } .ww_item:nth-child(2){ --c:#a855f7; }
.ww_item:nth-child(3){ --c:#38bdf8; } .ww_item:nth-child(4){ --c:#ff7a3d; }
.ww_item:nth-child(5){ --c:#22c55e; } .ww_item:nth-child(6){ --c:#22d3ee; }
.ww_ico{ position:absolute; left:50%; top:0; margin-left:-33px; z-index:2;
  width:66px; height:66px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:24px; background:radial-gradient(circle at 50% 38%, #2a0b2e, #100722 74%);
  animation:dvFloat 5s ease-in-out infinite; }
.ww_ico i{ position:relative; z-index:2; text-shadow:0 0 14px var(--c); }
.ww_ico::before{ content:""; position:absolute; inset:0; border-radius:50%; z-index:1; opacity:.95;
  background:conic-gradient(from 0deg, var(--c), transparent 28%, var(--c) 52%, transparent 78%, var(--c));
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  animation:heroSpin 5.5s linear infinite; }
.ww_ico::after{ content:""; position:absolute; inset:-8px; border-radius:50%; z-index:0; filter:blur(7px);
  background:radial-gradient(circle, var(--c), transparent 62%); opacity:.3; animation:wcGlow 2.8s ease-in-out infinite; }
.ww_body{ width:41%; }
.ww_item:nth-child(odd) .ww_body{ margin-left:0; margin-right:auto; text-align:right; padding-right:14px; }
.ww_item:nth-child(even) .ww_body{ margin-left:auto; margin-right:0; text-align:left; padding-left:14px; }
.ww_body h5{ color:#fff; font-family:'Poppins'; font-weight:600; font-size:19px; margin:4px 0 8px; }
.ww_body p{ color:var(--dvp-mut); font-size:14.5px; line-height:1.7; margin:0; }
.ww_item:hover .ww_ico i{ color:var(--c); }

@media (max-width:767px){
  .ww_time{ max-width:420px; margin-left:6px; }
  .ww_time::before{ left:33px; }
  .ww_item{ min-height:0; margin-bottom:26px; }
  .ww_ico{ left:33px; margin-left:-28px; width:56px; height:56px; font-size:21px; }
  .ww_body,.ww_item:nth-child(odd) .ww_body,.ww_item:nth-child(even) .ww_body{
    width:auto; margin:0 0 0 88px; text-align:left; padding:0; }
}

/* ====================================================================
   CONTACT — open, box-free contact zone + offices
   ==================================================================== */
.dvp_ctatop{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; }
.dvp_ctatop h2{ color:#fff; font-family:'Poppins'; font-weight:700; font-size:30px; line-height:1.22; margin:4px 0 12px; }
.dvp_ctatop h2 span{ background:var(--dvp-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.dvp_ctatop .dvp_lead{ margin-bottom:22px; }

/* open contact channels (no cards) */
.dvp_chan{ list-style:none; padding:0; margin:0; }
.dvp_chan li{ display:flex; align-items:flex-start; gap:16px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.dvp_chan li:first-child{ border-top:1px solid rgba(255,255,255,.08); }
.dvp_chan .dvp_ci{ flex:0 0 auto; position:relative; width:48px; height:48px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px;
  background:radial-gradient(circle at 50% 38%, #2a0b2e, #100722 74%); }
.dvp_chan .dvp_ci::before{ content:""; position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 0deg,#ff3d8b,transparent 30%,#ff7a3d 55%,transparent 82%,#ff3d8b);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));
          mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));
  animation:heroSpin 6s linear infinite; }
.dvp_chan h6{ color:#fff; font-family:'Poppins'; font-weight:600; font-size:15px; margin:4px 0 4px; }
.dvp_chan p,.dvp_chan a{ color:var(--dvp-mut); font-size:14.5px; margin:0; line-height:1.6; }
.dvp_chan a:hover{ color:var(--dvp-pink); }

/* form without the hard box */
.dvp_formzone{ position:relative; }
.dvp_formzone .contact_title h5{ color:#fff; font-size:20px; margin:0 0 6px; }
.dvp_formzone .contact_title p{ color:var(--dvp-mut); font-size:14px; margin:0 0 16px; }

/* map: rounded with glow, no border card */
.dvp_mapwrap{ position:relative; margin-top:40px; border-radius:20px; overflow:hidden; line-height:0;
  box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 24px 60px rgba(141,0,57,.28); }
.dvp_mapwrap::before{ content:""; position:absolute; inset:-2px; z-index:-1; border-radius:22px;
  background:var(--dvp-grad-135); filter:blur(26px); opacity:.4; }
.dvp_mapwrap iframe{ width:100%; height:340px; border:0; filter:grayscale(.25) contrast(1.05); }

/* OUR OFFICES — box-free animated grid */
.dvp_offlead{ color:var(--dvp-mut); font-size:15px; line-height:1.6; margin:12px 0 0; }
.dvp_offices{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px 40px; margin-top:44px; }
/* open office block — NO card: just a glowing left rail + content */
.dvp_office{ position:relative; padding:6px 6px 8px 26px;
  transition:transform .4s ease; }
.dvp_office:nth-child(3n+1){ --c:#ff3d8b; } .dvp_office:nth-child(3n+2){ --c:#a855f7; } .dvp_office:nth-child(3n){ --c:#38bdf8; }
/* vertical gradient rail replaces the box border */
.dvp_office::before{ content:""; position:absolute; left:0; top:2px; bottom:2px; width:3px; border-radius:3px;
  background:linear-gradient(180deg, var(--c), transparent 92%); opacity:.65; transition:opacity .4s ease, box-shadow .4s ease; }
/* faint accent glow bleeding from the rail — open, not a container */
.dvp_office::after{ content:""; position:absolute; left:-6px; top:0; width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, var(--c), transparent 62%); opacity:.08; pointer-events:none; transition:opacity .4s ease; }
.dvp_office:hover{ transform:translateX(6px); }
.dvp_office:hover::before{ opacity:1; box-shadow:0 0 16px -2px var(--c); }
.dvp_office:hover::after{ opacity:.18; }
.dvp_office--hq::before{ width:4px; opacity:1; box-shadow:0 0 14px -2px var(--c); }
.dvp_odir{ display:inline-flex; align-items:center; gap:8px; margin-top:10px; font-size:13.5px; font-weight:600;
  color:#fff; text-decoration:none; padding:0; position:relative; transition:gap .3s ease, color .3s ease; }
.dvp_odir::after{ content:""; position:absolute; left:0; bottom:-3px; height:2px; width:0;
  background:var(--dvp-grad); transition:width .35s ease; }
.dvp_odir i{ color:var(--c); font-size:12px; transition:transform .3s ease; }
.dvp_odir:hover{ gap:12px; color:#fff; }
.dvp_odir:hover::after{ width:100%; }
.dvp_odir:hover i{ transform:translateX(2px); }
.dvp_opin{ position:relative; width:58px; height:58px; margin-bottom:14px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:22px;
  background:radial-gradient(circle at 50% 38%, #2a0b2e, #100722 74%); }
.dvp_opin i{ position:relative; z-index:2; text-shadow:0 0 12px var(--c); }
.dvp_opin::before{ content:""; position:absolute; inset:0; border-radius:50%; opacity:.9;
  background:conic-gradient(from 0deg, var(--c), transparent 30%, var(--c) 55%, transparent 82%, var(--c));
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
  animation:heroSpin 6s linear infinite; }
.dvp_opin::after{ content:""; position:absolute; inset:-6px; border-radius:50%; z-index:-1; filter:blur(6px);
  background:radial-gradient(circle, var(--c), transparent 62%); opacity:.3; animation:wcGlow 3s ease-in-out infinite; }
.dvp_office h5{ display:inline-flex; align-items:center; gap:10px; color:#fff; font-family:'Poppins';
  font-weight:600; font-size:18px; margin:0 0 4px; }
.dvp_office h5::after{ content:""; display:block; height:2px; width:34px; margin-top:2px;
  background:var(--dvp-grad); }
.dvp_otag{ font-size:11px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; padding:3px 9px;
  border-radius:999px; color:#fff; background:linear-gradient(135deg,#ff3d8b,#8d0039); }
.dvp_office address{ font-style:normal; color:var(--dvp-mut); font-size:14px; line-height:1.66; margin:10px 0 12px; }
.dvp_oline{ display:flex; align-items:center; gap:9px; color:var(--dvp-mut); font-size:14px; margin:0 0 6px; }
.dvp_oline i{ color:var(--c); width:15px; text-align:center; flex:0 0 auto; }
.dvp_oline a{ color:var(--dvp-mut); } .dvp_oline a:hover{ color:var(--dvp-pink); }

@media (max-width:991px){
  .dvp_ctatop{ grid-template-columns:1fr; gap:34px; }
  .dvp_offices{ grid-template-columns:repeat(2,1fr); gap:34px 28px; }
}
@media (max-width:575px){ .dvp_offices{ grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce){
  .ww_time::before,.ww_ico,.ww_ico::before,.ww_ico::after,
  .dvp_chan .dvp_ci::before,.dvp_opin::before,.dvp_opin::after{ animation:none !important; }
}
