/* ============================================================
   DigitalIN — brand design system for WordPress / Elementor.
   A faithful port of the Next.js site's globals.css + section
   styles. Every colour is a token so the Elementor kit (or a
   single :root override) can retheme the whole site. RTL-first.
   ============================================================ */

/* ---------- Birzia, the brand face ---------- */
@font-face{ font-family:"Birzia"; src:url("../fonts/Birzia-Light.woff2") format("woff2"),url("../fonts/Birzia-Light.woff") format("woff"); font-weight:300; font-display:swap; }
@font-face { font-family:"Birzia"; src:url("../fonts/Birzia-Regular.woff2") format("woff2"),url("../fonts/Birzia-Regular.woff") format("woff"); font-weight:400; font-display:swap; }
@font-face { font-family:"Birzia"; src:url("../fonts/Birzia-Medium.woff2") format("woff2"),url("../fonts/Birzia-Medium.woff") format("woff"); font-weight:500; font-display:swap; }
@font-face { font-family:"Birzia"; src:url("../fonts/Birzia-Bold.woff2") format("woff2"),url("../fonts/Birzia-Bold.woff") format("woff"); font-weight:700; font-display:swap; }
@font-face { font-family:"Birzia"; src:url("../fonts/Birzia-Black.woff2") format("woff2"),url("../fonts/Birzia-Black.woff") format("woff"); font-weight:900; font-display:swap; }
/* The site runs on one family. "DigitalIN Mono" stays registered only so any
   widget that still points at it keeps rendering in the brand face. */
@font-face{ font-family:"DigitalIN Mono"; font-display:swap;
  src:url("../fonts/Birzia-Regular.woff2") format("woff2"),
      url("../fonts/Birzia-Regular.woff") format("woff"); font-weight:400; }
@font-face { font-family:"DigitalIN Mono"; font-display:swap;
  src:url("../fonts/Birzia-Bold.woff2") format("woff2"),
      url("../fonts/Birzia-Bold.woff") format("woff"); font-weight:700; }
:root{
  --brand-hot: 231 15 87;     /* #E70F57 — primary accent */
  --brand-purple: 124 58 237; /* #7C3AED */
  --brand-space: 22 4 59;     /* #16043B */
  --brand-deep: 11 1 37;      /* #0B0125 */
  --brand-glow: 59 30 155;    /* #3B1E9B — nebula glow */
  --surface: 33 23 93;        /* #21175D */
  --ink: 233 238 247;
  --bg-base: 17 18 35;        /* #111223 — the page backdrop */
  --dgl-font: "Birzia", "Heebo", sans-serif;
  --dgl-mono: "Birzia", "Heebo", sans-serif;
}
html body{ background: rgb(var(--bg-base)); color: #fff; }
/* Top-level Elementor containers must own a stacking context above the
   fixed starfield backdrop, or it paints over the whole page. The theme
   header is a separate .elementor wrapper that comes first in the DOM, so
   it needs a higher layer or the page content covers the fixed nav. */
html body .elementor > .elementor-element{ position: relative; z-index: 1; }
html body .elementor[data-elementor-type="header"], html body .elementor[data-elementor-type="header"] > .elementor-element{ position: relative; z-index: 100; }
.dgl{ font-family: var(--dgl-font); direction: rtl; position: relative; }
.dgl *, .dgl *::before, .dgl *::after{ box-sizing: border-box; }
.dgl-wrap{ max-width: 80rem; margin-inline: auto; padding-inline: 1.5rem; position: relative; }
.dgl-wrap--narrow{ max-width: 56rem; }
.dgl-wrap--mid{ max-width: 72rem; }
/* ---------- type scale ---------- */
.dgl-display{ font-family:var(--dgl-font); font-weight:900; line-height:.95; letter-spacing:0; font-size:clamp(2.25rem,8vw,5.5rem); margin:0; }
.dgl-display-lg{ font-family:var(--dgl-font); font-weight:900; line-height:1; letter-spacing:0; font-size:clamp(1.75rem,5vw,3.25rem); margin:0; }
.dgl-h2{ font-family:var(--dgl-font); font-size:clamp(2.2rem,5.5vw,4.95rem); line-height:1.1; font-weight:900; letter-spacing:0; margin:0 0 1.5rem; color:#fff; }
.dgl-lead{ font-size:clamp(1rem,.94rem + .24vw,1.125rem); line-height:1.7; font-weight:300; color:rgba(255,255,255,.68); }
/* the mono kicker with hairlines on both sides */
.dgl-rule{ display:flex; align-items:center; justify-content:center; gap:.75rem; font-family:var(--dgl-mono);
  font-size:.8rem; letter-spacing:.15em; color:rgb(var(--brand-hot)); margin-bottom:1.25rem; }
.dgl-rule::before, .dgl-rule::after{ content:""; width:2.5rem; height:1px; background:rgb(var(--brand-hot)); flex:0 0 auto; }
.dgl-rule--start{ justify-content:flex-start; }
.dgl-rule--start::after{ display:none; }
/* the glass pill badge */
.dgl-badge{ display:inline-flex; align-items:center; gap:.5rem; border-radius:999px; padding:.5rem 1rem; margin-bottom:1.5rem;
  background:linear-gradient(135deg,rgba(231,15,87,.15),rgba(33,23,93,.35));
  backdrop-filter:blur(22px) saturate(160%); -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(231,15,87,.3); font-size:.85rem; font-weight:700; color:rgb(var(--brand-hot)); }
.dgl-outline{ -webkit-text-stroke:2px rgb(var(--brand-hot)); -webkit-text-fill-color:transparent; color:transparent; }
.dgl-outline-white{ -webkit-text-stroke:1.5px rgba(255,255,255,.7); -webkit-text-fill-color:transparent; }
.dgl-gradient-hot{ background:linear-gradient(135deg,rgb(var(--brand-hot)) 0%,color-mix(in srgb,rgb(var(--brand-hot)) 62%,#fff) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.dgl-hot{ color:rgb(var(--brand-hot)); }
/* ---------- surfaces ---------- */
.dgl-glass{ background:rgba(33,23,93,.28); backdrop-filter:blur(22px) saturate(160%); -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(255,255,255,.1); box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 40px rgba(0,0,0,.25); }
.dgl-glass-hot{ background:linear-gradient(135deg,rgba(231,15,87,.15),rgba(33,23,93,.35));
  backdrop-filter:blur(22px) saturate(160%); -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(231,15,87,.3); box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 12px 40px rgba(231,15,87,.15); }
.dgl-card-hover{ transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .5s; }
.dgl-card-hover:hover{ transform:translateY(-6px); }
/* animated gradient border */
.dgl-gradborder{ position:relative; }
.dgl-gradborder::before{ content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px;
  background:linear-gradient(135deg,rgb(var(--brand-hot)),rgb(var(--brand-glow)),rgb(var(--brand-hot)));
  background-size:200% 200%; animation:dgl-shimmer 4s linear infinite;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
@keyframes dgl-shimmer {
0% {background-position:0% 0%}
100% {background-position:200% 200%}
}
/* the glowing gradient icon chip */
.dgl-chip{ display:grid; place-items:center; border-radius:.85rem; background:linear-gradient(135deg,rgb(var(--brand-hot)),rgb(var(--brand-glow)));
  box-shadow:0 0 30px rgba(231,15,87,.35); color:#fff; flex:0 0 auto; transition:transform .5s; }
/* ---------- buttons ---------- */
.dgl-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius:999px; padding:.9rem 2.25rem;
  font-weight:700; color:#fff; text-decoration:none; font-family:var(--dgl-font); cursor:pointer; border:0; font-size:1rem; }
.dgl-btn-primary{ background:linear-gradient(135deg,rgb(var(--brand-hot)) 0%,color-mix(in srgb,rgb(var(--brand-hot)) 74%,#000) 100%);
  box-shadow:0 10px 40px rgba(231,15,87,.35); transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .3s,filter .25s; position:relative; overflow:hidden; }
.dgl-btn-primary::after{ content:""; position:absolute; inset:0; background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);
  transform:translateX(-100%); transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.dgl-btn-primary:hover{ transform:translateY(-2px) scale(1.02); box-shadow:0 18px 60px rgba(231,15,87,.6); filter:brightness(1.08); }
.dgl-btn-primary:hover::after{ transform:translateX(100%); }
.dgl-btn-ghost{ background:rgba(255,255,255,.06); backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.18); box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  transition:transform .25s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s,box-shadow .3s; }
.dgl-btn-ghost:hover{ background:rgba(255,255,255,.12); border-color:rgba(231,15,87,.6); transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 30px rgba(231,15,87,.2); }
/* ---------- section rhythm (matches py-12 md:py-24 lg:py-32) ---------- */
.dgl-section{ padding-block:3rem; overflow-x:clip; position:relative; }
@media (min-width:768px) {.dgl-section{ padding-block:6rem; }
}

@media (min-width:1024px) {.dgl-section{ padding-block:8rem; }
}
/* ambient blurred colour blobs */
.dgl-blob{ position:absolute; border-radius:50%; pointer-events:none; z-index:0; }
/* ---------- reveal-on-scroll (JS adds .is-in) ----------
   The hidden state is a progressive enhancement: a pure-CSS fail-safe
   reveals everything after 2.4s so content is never stranded invisible. */
.dgl-reveal{ opacity:0; transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);
  animation:dgl-failsafe .01s linear 2.4s forwards; }
.dgl-reveal.is-in{ opacity:1; transform:none; }
@keyframes dgl-failsafe {
to { opacity:1; transform:none; }
}
@media (prefers-reduced-motion: reduce) {.dgl-reveal{ opacity:1; transform:none; animation:none; }
}
/* ============================================================
   HERO
   ============================================================ */
.dgl-hero{ min-height:92svh; display:flex; align-items:center; justify-content:center; padding:8rem 1.5rem 4rem; overflow:hidden; text-align:center; }
@media (min-width:640px) {.dgl-hero{ min-height:100svh; }
}
.dgl-hero__inner{ position:relative; z-index:10; max-width:64rem; margin:0 auto; width:100%; }
.dgl-hero__title{ margin:0 0 1.75rem; }
.dgl-hero__title span{ display:block; }
.dgl-hero__rotator{ font-size:clamp(1.125rem,3.6vw,2.25rem); font-weight:900; margin-bottom:2rem;
  display:flex; align-items:center; justify-content:center; gap:.6rem; flex-wrap:wrap; }
.dgl-hero__rotator .pre{ color:rgba(255,255,255,.85); }
.dgl-rotator{ position:relative; display:inline-block; color:rgb(var(--brand-hot)); }
.dgl-rotator > span{ display:none; }
.dgl-rotator > span.is-active{ display:inline-block; animation:dgl-rot .5s cubic-bezier(.2,.8,.2,1); }
@keyframes dgl-rot {
from { opacity:0; transform:translateY(.4em) rotateX(-40deg); }
to { opacity:1; transform:none; }
}
.dgl-hero__lead{ max-width:42rem; margin:0 auto 2.25rem; font-size:.95rem; color:rgba(255,255,255,.65); font-weight:300; }
.dgl-hero__ctas{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-bottom:3.5rem; }
.dgl-hero__rings{ position:absolute; inset-inline-start:50%; top:50%; transform:translate(50%,-50%); pointer-events:none;
  width:130vmin; height:130vmin; opacity:.35; z-index:0; }
.dgl-hero__rings i{ position:absolute; border-radius:50%; display:block; }
.dgl-hero__rings i:nth-child(1){ inset:0; border:1px solid rgba(231,15,87,.25); animation:dgl-spin 40s linear infinite; }
.dgl-hero__rings i:nth-child(2){ inset:10%; border:1px solid rgba(59,30,155,.25); animation:dgl-spin 40s linear infinite reverse; }
.dgl-hero__rings i:nth-child(3){ inset:22%; border:1px solid rgba(255,255,255,.08); }
.dgl-hero__rings i:nth-child(4){ inset:34%; border:1px solid rgba(231,15,87,.15); }
@keyframes dgl-spin {
to { transform:rotate(360deg); }
}
.dgl-hero__glow{ position:absolute; inset-inline-start:50%; top:50%; transform:translate(50%,-50%);
  width:60vmin; height:60vmin; background:rgba(231,15,87,.15); filter:blur(140px); border-radius:50%; pointer-events:none; z-index:0; }
.dgl-hero__ufo{ position:absolute; top:7rem; right:3rem; width:7rem; opacity:.7; pointer-events:none; z-index:15;
  animation:dgl-drift 11s ease-in-out infinite; }
.dgl-hero__ufo img{ width:100%; height:auto; filter:drop-shadow(0 10px 30px rgba(231,15,87,.3)); }
@keyframes dgl-drift {
0%,100% { transform:translate(0,0) rotate(-3deg); }
50% { transform:translate(15px,-8px) rotate(5deg); }
}
@media (max-width:640px) {.dgl-hero__ufo{ display:none; }
}
.dgl-hero__scroll{ position:absolute; bottom:2rem; inset-inline-start:50%; transform:translateX(50%);
  display:flex; flex-direction:column; align-items:center; gap:.5rem; font-size:.75rem; color:rgba(255,255,255,.5); z-index:10; }
.dgl-hero__scroll i{ display:block; width:1px; height:3rem; background:linear-gradient(to bottom,rgb(var(--brand-hot)),transparent);
  animation:dgl-bob 1.5s ease-in-out infinite; }
@keyframes dgl-bob {
0%,100% { transform:translateY(0); }
50% { transform:translateY(10px); }
}
@media (max-width:640px) {.dgl-hero__scroll{ display:none; }
}
/* metrics row */
.dgl-metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; max-width:36rem; margin:0 auto; }
.dgl-metrics__v{ font-family:var(--dgl-font); font-size:clamp(1.5rem,3vw,1.875rem); font-weight:900; color:#fff; }
.dgl-metrics__l{ font-size:.72rem; color:rgba(255,255,255,.55); margin-top:.25rem; }
/* ============================================================
   MARQUEE
   ============================================================ */
.dgl-marquee{ padding:2rem 0; overflow:hidden; border-block:1px solid rgba(255,255,255,.05); }
.dgl-marquee__track{ display:flex; gap:2rem; white-space:nowrap; font-family:var(--dgl-font);
  font-size:1.5rem; line-height:1; font-weight:900; width:max-content;
  animation:dgl-marquee var(--dgl-marquee-speed,40s) linear infinite; }
@media (min-width:640px) {.dgl-marquee__track{ font-size:1.875rem; }
}

@media (min-width:768px) {.dgl-marquee__track{ font-size:3rem; gap:2.5rem; }
}
.dgl-marquee__track span{ color:#fff; }
.dgl-marquee__track span.sep{ color:rgb(var(--brand-hot)); }
@keyframes dgl-marquee {
from { transform:translateX(0); }
to { transform:translateX(50%); }
}
/* ============================================================
   SERVICES
   ============================================================ */
.dgl-services{ display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1023px) {.dgl-services{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:639px) {.dgl-services{ grid-template-columns:1fr; }
}
.dgl-service{ position:relative; border-radius:1rem; padding:1.5rem; display:flex; flex-direction:column; height:100%;
  overflow:hidden; text-decoration:none; color:inherit; }
.dgl-service__blob{ position:absolute; top:-3rem; inset-inline-end:-3rem; width:8rem; height:8rem; border-radius:50%;
  opacity:.2; filter:blur(40px); transition:opacity .7s,transform .7s; pointer-events:none; }
.dgl-service:hover .dgl-service__blob{ opacity:.5; transform:scale(1.5); }
.dgl-service__top{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:1rem; position:relative; z-index:1; }
.dgl-service__icon{ width:3rem; height:3rem; }
.dgl-service:hover .dgl-service__icon{ transform:scale(1.1) rotate(6deg); }
.dgl-service__num{ font-family:var(--dgl-font); font-size:1.875rem; font-weight:900; line-height:1;
  -webkit-text-stroke:1.5px rgba(255,255,255,.7); -webkit-text-fill-color:transparent; transition:color .5s,-webkit-text-fill-color .5s; }
.dgl-service:hover .dgl-service__num{ -webkit-text-fill-color:#fff; }
.dgl-service__tag{ font-family:var(--dgl-mono); font-size:.625rem; letter-spacing:.15em; color:rgb(var(--brand-hot)); margin-bottom:.25rem; position:relative; z-index:1; }
.dgl-service__title{ font-family:var(--dgl-font); font-size:1.125rem; font-weight:900; color:#fff; margin:0 0 .5rem; line-height:1.25; position:relative; z-index:1; }
.dgl-service__desc{ font-size:.875rem; line-height:1.65; color:rgba(255,255,255,.65); flex:1; margin:0; position:relative; z-index:1; transition:color .5s; }
.dgl-service:hover .dgl-service__desc{ color:rgba(255,255,255,.85); }
.dgl-service__more{ margin-top:1rem; padding-top:.75rem; border-top:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:space-between; font-size:.75rem; font-weight:700;
  color:rgba(231,15,87,.8); letter-spacing:.05em; transition:color .5s,border-color .5s; position:relative; z-index:1; }
.dgl-service:hover .dgl-service__more{ color:rgb(var(--brand-hot)); border-color:rgba(231,15,87,.4); }
.dgl-arrow{ display:inline-block; transition:transform .3s; }
.dgl-service:hover .dgl-arrow{ transform:translateX(-4px); }
/* ============================================================
   DIGITAL WARRIOR
   ============================================================ */
.dgl-warrior__head{ text-align:center; margin-bottom:4rem; }
.dgl-warrior__quote{ font-size:1.125rem; color:rgba(255,255,255,.65); max-width:42rem; margin:0 auto; line-height:1.7;
  font-style:italic; font-weight:300; }
.dgl-warrior__grid{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center; }
@media (max-width:1023px) {.dgl-warrior__grid{ grid-template-columns:1fr; }
}
.dgl-warrior__stage{ position:relative; border-radius:1rem; overflow:hidden; border:1px solid rgba(255,255,255,.1);
  box-shadow:0 30px 80px rgba(0,0,0,.45); background:#0d0e1a; aspect-ratio:4/3; }
/* the outgoing slide stays painted underneath, so the stage never flashes empty */
.dgl-warrior__stage figure{ position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; z-index:0; }
.dgl-warrior__stage figure.was-active{ opacity:1; z-index:1; }
.dgl-warrior__stage figure.is-active{ opacity:1; z-index:2; animation:dgl-fadein .6s ease both; }
@keyframes dgl-fadein {
from { opacity:0; }
to { opacity:1; }
}
.dgl-warrior__stage img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block; }
.dgl-warrior__cap{ position:absolute; bottom:.75rem; inset-inline-end:.75rem; z-index:3;
  border-radius:999px; padding:.25rem .75rem; font-size:.7rem;
  background:rgba(33,23,93,.5); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.12); color:#fff; }
.dgl-warrior__nav{ position:absolute; inset-inline:0; top:50%; transform:translateY(-50%);
  display:flex; justify-content:space-between; padding-inline:.75rem; z-index:4; }
.dgl-warrior__nav button{ width:2.25rem; height:2.25rem; border-radius:50%; border:1px solid rgba(255,255,255,.15);
  background:rgba(33,23,93,.5); backdrop-filter:blur(12px); color:#fff; cursor:pointer;
  display:grid; place-items:center; transition:background .25s,border-color .25s; }
.dgl-warrior__nav button:hover{ background:rgb(var(--brand-hot)); border-color:rgb(var(--brand-hot)); }
.dgl-warrior__dots{ display:flex; align-items:center; justify-content:center; gap:.5rem; margin-top:1rem; }
.dgl-warrior__dots button{ height:4px; width:6px; border-radius:999px; border:0; padding:0; cursor:pointer;
  background:rgba(255,255,255,.2); transition:all .5s; }
.dgl-warrior__dots button:hover{ background:rgba(255,255,255,.4); }
.dgl-warrior__dots button.is-active{ width:2rem; background:rgb(var(--brand-hot)); }
.dgl-warrior__col{ display:flex; flex-direction:column; justify-content:center; gap:1.25rem; }
.dgl-warrior__block{ padding:1.25rem; border-radius:1rem; }
.dgl-warrior__kick{ display:block; font-family:var(--dgl-mono); font-size:.7rem; letter-spacing:.15em;
  color:rgb(var(--brand-hot)); margin-bottom:.5rem; }
.dgl-warrior__block b{ display:block; font-family:var(--dgl-font); font-weight:900; font-size:1.125rem;
  line-height:1.35; color:#fff; }
.dgl-warrior__sub{ display:block; font-size:.875rem; color:rgba(255,255,255,.7); margin-top:.375rem; line-height:1.65; }
.dgl-warrior__story{ margin:0; padding-inline-start:1.25rem; border-inline-start:2px solid rgb(var(--brand-hot)); }
.dgl-warrior__story span{ display:block; font-size:1.05rem; line-height:1.75; color:rgba(255,255,255,.8); font-weight:300; }
.dgl-warrior__story b{ display:block; margin-top:.75rem; color:#fff; font-family:var(--dgl-font); font-weight:900; }
.dgl-warrior__stats{ display:flex; align-items:center; gap:1rem; padding-top:.5rem; }
.dgl-warrior__sep{ width:1px; height:2.25rem; background:rgba(255,255,255,.15); display:block; }
.dgl-warrior__stat{ font-family:var(--dgl-font); font-size:1.875rem; font-weight:900; color:rgb(var(--brand-hot)); line-height:1; text-align:center; }
.dgl-warrior__statl{ font-size:.72rem; color:rgba(255,255,255,.55); text-align:center; margin-top:.2rem; }
/* ============================================================
   ABOUT
   ============================================================ */
.dgl-about{ display:grid; grid-template-columns:5fr 7fr; gap:3rem; align-items:center; }
@media (max-width:1023px) {.dgl-about{ grid-template-columns:1fr; }
}
.dgl-about__portrait{ position:relative; aspect-ratio:4/5; border-radius:2.5rem; overflow:hidden;
  background:linear-gradient(135deg,rgba(231,15,87,.3),rgba(59,30,155,.2),rgb(var(--brand-space))); }
.dgl-about__portrait img{ width:100%; height:100%; object-fit:cover; object-position:top; position:relative; z-index:1; }
.dgl-about__portrait::after{ content:""; position:absolute; inset:0; border-radius:2.5rem; box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); z-index:2; pointer-events:none; }
.dgl-about__body p{ font-size:1.05rem; line-height:1.8; color:rgba(255,255,255,.8); margin:0 0 1rem; }
.dgl-pillars{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2.5rem; }
@media (max-width:639px) {.dgl-pillars{ grid-template-columns:1fr; }
}
.dgl-pillar{ padding:1.25rem; border-radius:1rem; }
.dgl-pillar .dgl-chip{ width:2.75rem; height:2.75rem; margin-bottom:.75rem; }
.dgl-pillar :is(h2, h3, h4){ font-family:var(--dgl-font); font-size:1rem; font-weight:900; color:#fff; margin:0 0 .25rem; }
.dgl-pillar p{ font-size:.875rem; line-height:1.65; color:rgba(255,255,255,.6); margin:0; }
/* ============================================================
   MANIFESTO
   ============================================================ */
.dgl-manifesto{ text-align:center; }
.dgl-manifesto__line{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.35em .5em; line-height:.95; }
.dgl-manifesto__line span{ font-family:var(--dgl-font); font-weight:900; font-size:clamp(1.75rem,5.5vw,4rem);
  letter-spacing:0; line-height:1.05; }
.dgl-manifesto__line--1 span{ color:#fff; }
.dgl-manifesto__line--2 span{ color:rgb(var(--brand-hot)); }
.dgl-manifesto__sign{ margin-top:5rem; }
.dgl-manifesto__sign span{ display:inline-flex; align-items:center; gap:.75rem; border-radius:999px; padding:.75rem 1.5rem;
  background:rgba(33,23,93,.28); backdrop-filter:blur(22px); border:1px solid rgba(255,255,255,.1);
  font-size:.875rem; color:rgba(255,255,255,.75); font-style:italic; }
.dgl-manifesto__sign i{ width:.375rem; height:.375rem; border-radius:50%; background:rgb(var(--brand-hot)); display:block; }
/* ============================================================
   CASE STUDIES — full-width dashboard rows
   ============================================================ */
.dgl-cases{ display:flex; flex-direction:column; gap:1.5rem; }
.dgl-case{ position:relative; border-radius:1.25rem; overflow:hidden; }
.dgl-case__accent{ position:absolute; inset-block:0; inset-inline-end:0; width:4px; }
.dgl-case__bar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem;
  padding:1rem 1.75rem; border-bottom:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.02); }
.dgl-case__id{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.dgl-case__num{ font-family:var(--dgl-font); font-weight:900; font-size:1.25rem; color:#fff; }
.dgl-case__name{ font-family:var(--dgl-font); font-weight:900; font-size:1.25rem; color:rgba(255,255,255,.95); }
.dgl-case__dot{ color:rgba(255,255,255,.3); }
.dgl-case__meta{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; font-size:.85rem; color:rgba(255,255,255,.75); }
.dgl-case__meta b{ color:#fff; font-weight:700; }
.dgl-case__live{ display:inline-flex; align-items:center; gap:.4rem; color:#4ade80; font-weight:700; font-size:.75rem; }
.dgl-case__live i{ width:6px; height:6px; border-radius:50%; background:#4ade80; display:block; animation:dgl-pulse 2s ease-in-out infinite; }
@keyframes dgl-pulse {
0%,100% { opacity:1; }
50% { opacity:.35; }
}
.dgl-case__pane{ padding:1.25rem 1.75rem; }
.dgl-case__label{ display:flex; align-items:center; gap:.5rem; margin-bottom:1rem;
  font-family:var(--dgl-mono); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:rgb(var(--brand-hot)); }
.dgl-case__metrics{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.75rem; }
@media (max-width:1023px) {.dgl-case__metrics{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:639px) {.dgl-case__metrics{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.dgl-metric{ background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1); border-radius:.75rem; padding:.75rem;
  transition:border-color .3s; }
.dgl-metric:hover{ border-color:rgba(231,15,87,.4); }
.dgl-metric__top{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:.5rem; }
.dgl-metric__i{ width:1.75rem; height:1.75rem; border-radius:.5rem; background:rgba(231,15,87,.15);
  display:grid; place-items:center; color:rgb(var(--brand-hot)); }
.dgl-metric__t{ font-size:.7rem; font-weight:900; color:#4ade80; background:rgba(34,197,94,.15);
  padding:.1rem .45rem; border-radius:.35rem; white-space:nowrap; }
.dgl-metric__l{ font-size:.72rem; color:rgba(255,255,255,.65); margin-bottom:.25rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dgl-metric__v{ font-family:var(--dgl-font); font-weight:900; font-size:1.35rem; color:#fff; line-height:1; }
.dgl-case__foot{ border-top:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.02); }
.dgl-case__foot summary, .dgl-case__foot--static{ display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  padding:.85rem 1.75rem; font-size:.78rem; color:rgba(255,255,255,.55); cursor:pointer; list-style:none;
  transition:background .4s,color .4s; }
.dgl-case__foot summary::-webkit-details-marker{ display:none; }
.dgl-case__foot summary:hover{ background:rgba(231,15,87,.1); color:rgb(var(--brand-hot)); }
.dgl-case__foot b{ color:rgb(var(--brand-hot)); font-weight:700; white-space:nowrap; }
.dgl-case__detail{ padding:0 1.75rem 1.25rem; }
.dgl-case__detail p{ margin:.6rem 0 0; font-size:.88rem; line-height:1.75; color:rgba(255,255,255,.7); }
.dgl-case__detail b{ color:#fff; }
/* ============================================================
   PORTFOLIO
   ============================================================ */
.dgl-portfolio__filters{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2.5rem; }
.dgl-portfolio__filter{ display:inline-flex; align-items:center; gap:.5rem; border-radius:999px;
  padding:.625rem 1.25rem; font-family:var(--dgl-font); font-size:.875rem; font-weight:700; cursor:pointer;
  color:rgba(255,255,255,.75); background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(22px) saturate(160%); -webkit-backdrop-filter:blur(22px) saturate(160%);
  transition:all .3s; }
.dgl-portfolio__filter:hover{ color:#fff; }
.dgl-portfolio__filter i{ font-style:normal; font-family:var(--dgl-mono); font-size:.625rem; color:rgba(255,255,255,.4); }
.dgl-portfolio__filter.is-active{ background:rgb(var(--brand-hot)); border-color:rgb(var(--brand-hot)); color:#fff;
  box-shadow:0 10px 30px rgba(231,15,87,.35); }
.dgl-portfolio__filter.is-active i{ color:rgba(255,255,255,.8); }
.dgl-portfolio__grid{ display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1023px) {.dgl-portfolio__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:767px) {.dgl-portfolio__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
}
.dgl-portfolio__item{ position:relative; display:block; text-decoration:none; }
.dgl-portfolio__item[hidden]{ display:none; }
.dgl-portfolio__frame{ position:relative; border-radius:1rem; overflow:hidden; aspect-ratio:5/4; background:#0d0e1a;
  border:1px solid rgba(255,255,255,.1); box-shadow:0 20px 50px rgba(0,0,0,.35); transition:border-color .5s,box-shadow .5s; }
.dgl-portfolio__item:hover .dgl-portfolio__frame{ border-color:rgba(231,15,87,.4); box-shadow:0 30px 70px rgba(231,15,87,.25); }
.dgl-portfolio__frame img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .9s cubic-bezier(.2,.8,.2,1); }
.dgl-portfolio__item:hover .dgl-portfolio__frame img{ transform:scale(1.06); }
.dgl-portfolio__shine{ position:absolute; inset:0; overflow:hidden; border-radius:1rem; pointer-events:none; }
.dgl-portfolio__shine::before{ content:""; position:absolute; top:0; bottom:0; width:50%; inset-inline-start:-100%;
  background:linear-gradient(to left,transparent,rgba(255,255,255,.15),transparent); transition:transform 1.4s ease-out; }
.dgl-portfolio__item:hover .dgl-portfolio__shine::before{ transform:translateX(-300%); }
.dgl-portfolio__pill{ position:absolute; top:.7rem; inset-inline-end:.7rem; border-radius:999px; padding:.25rem .75rem;
  font-size:.72rem; font-weight:700; color:#fff; background:rgba(33,23,93,.5);
  backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.12); }
.dgl-portfolio__info{ position:absolute; inset-inline:.65rem; bottom:.65rem; display:block;
  border-radius:.75rem; padding:.6rem .85rem; background:rgba(33,23,93,.5);
  backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,.1);
  transition:transform .5s; }
.dgl-portfolio__item:hover .dgl-portfolio__info{ transform:translateY(-4px); }
.dgl-portfolio__info i{ display:block; font-style:normal; font-size:.72rem; font-weight:700;
  color:rgb(var(--brand-hot)); margin-bottom:.15rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dgl-portfolio__info b{ display:block; font-family:var(--dgl-font); font-weight:900; color:#fff; font-size:1rem;
  line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dgl-portfolio__cta{ text-align:center; margin-top:3.5rem; }
/* ============================================================
   PROCESS
   ============================================================ */
.dgl-process{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; position:relative; }
@media (max-width:767px) {.dgl-process{ grid-template-columns:1fr; }
}
.dgl-process__path{ position:absolute; top:4rem; inset-inline:14%; height:5rem; pointer-events:none; z-index:0; }
@media (max-width:767px) {.dgl-process__path{ display:none; }
}
.dgl-step{ border-radius:1.5rem; padding:2rem; height:100%; position:relative; overflow:hidden; z-index:1; }
.dgl-step__top{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:1.5rem; }
.dgl-step__n{ font-family:var(--dgl-font); font-size:3.75rem; font-weight:900; line-height:1;
  -webkit-text-stroke:1.5px rgba(255,255,255,.7); -webkit-text-fill-color:transparent; }
.dgl-step .dgl-chip{ width:3.5rem; height:3.5rem; border-radius:1rem; box-shadow:0 0 30px rgba(231,15,87,.35),0 0 0 4px #111223; }
.dgl-step h3{ font-family:var(--dgl-font); font-size:1.5rem; font-weight:900; color:#fff; margin:0 0 .75rem; }
.dgl-step p{ color:rgba(255,255,255,.65); line-height:1.75; margin:0; }
/* ============================================================
   TESTIMONIALS
   ============================================================ */
.dgl-testimonials__head{ display:flex; flex-direction:column; gap:1.5rem; margin-bottom:3.5rem; }
@media (min-width:768px) {.dgl-testimonials__head{ flex-direction:row; align-items:flex-end; justify-content:space-between; }
}
.dgl-testimonials__nav{ display:flex; gap:.75rem; }
.dgl-testimonials__nav button{ width:3rem; height:3rem; border-radius:50%; display:grid; place-items:center; cursor:pointer;
  background:rgba(33,23,93,.28); backdrop-filter:blur(22px); border:1px solid rgba(255,255,255,.1); color:#fff;
  font-size:1.2rem; line-height:1; transition:background .25s,border-color .25s; }
.dgl-testimonials__nav button:hover{ background:rgb(var(--brand-hot)); border-color:rgb(var(--brand-hot)); }
.dgl-testimonials__viewport{ overflow:hidden; }
.dgl-testimonials__track{ display:flex; transition:transform .8s cubic-bezier(.22,1,.36,1); }
.dgl-testimonials__cell{ flex:0 0 33.3333%; padding-inline:.75rem; box-sizing:border-box; }
@media (max-width:1023px) {.dgl-testimonials__cell{ flex-basis:50%; }
}

@media (max-width:639px) {.dgl-testimonials__cell{ flex-basis:100%; }
}
.dgl-testimonial{ border-radius:1.5rem; padding:1.75rem; height:100%; display:flex; flex-direction:column; }
.dgl-testimonial__mark{ font-family:Georgia, serif; font-size:3rem; line-height:.7; color:rgba(231,15,87,.4); margin-bottom:.5rem; }
.dgl-testimonial__stars{ color:rgb(var(--brand-hot)); letter-spacing:.15em; font-size:.9rem; margin-bottom:1rem; }
.dgl-testimonial__quote{ color:rgba(255,255,255,.85); line-height:1.75; margin:0 0 1.25rem; font-size:.95rem; flex:1; }
.dgl-testimonial__who{ display:flex; align-items:center; gap:.75rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.1); }
.dgl-testimonial__av{ width:2.5rem; height:2.5rem; border-radius:50%; display:grid; place-items:center; flex:0 0 auto;
  background:linear-gradient(135deg,rgb(var(--brand-hot)),rgb(var(--brand-glow))); color:#fff; font-weight:900; font-size:.85rem; }
.dgl-testimonial__n b{ display:block; font-size:.875rem; color:#fff; }
.dgl-testimonial__n span{ font-size:.7rem; color:rgba(255,255,255,.55); }
.dgl-testimonials__dots{ display:flex; align-items:center; justify-content:center; gap:.5rem; margin-top:2.5rem; }
.dgl-testimonials__dots button{ height:.375rem; width:.375rem; border-radius:999px; border:0; cursor:pointer;
  background:rgba(255,255,255,.25); transition:all .5s; padding:0; }
.dgl-testimonials__dots button.is-active{ width:2.5rem; background:rgb(var(--brand-hot)); }
/* ============================================================
   FAQ
   ============================================================ */
.dgl-faq{ display:flex; flex-direction:column; gap:.75rem; max-width:56rem; margin-inline:auto; }
.dgl-faq__item{ border-radius:1rem; overflow:hidden; transition:box-shadow .3s; }
.dgl-faq__item.is-open{ box-shadow:inset 0 0 0 1px rgba(231,15,87,.4); }
.dgl-faq__q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; text-align:start;
  background:none; border:0; cursor:pointer; padding:1.25rem 1.5rem; color:#fff; font-family:var(--dgl-font);
  font-size:1.05rem; font-weight:700; line-height:1.5; }
.dgl-faq__plus{ flex:0 0 auto; width:1.5rem; height:1.5rem; position:relative; transition:transform .35s; }
.dgl-faq__plus::before, .dgl-faq__plus::after{ content:""; position:absolute; background:rgb(var(--brand-hot)); border-radius:2px; }
.dgl-faq__plus::before{ inset-inline:0; top:calc(50% - 1px); height:2px; }
.dgl-faq__plus::after{ inset-block:0; inset-inline-start:calc(50% - 1px); width:2px; transition:opacity .35s; }
.dgl-faq__item.is-open .dgl-faq__plus{ transform:rotate(180deg); }
.dgl-faq__item.is-open .dgl-faq__plus::after{ opacity:0; }
.dgl-faq__a{ max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.2,.8,.2,1); }
.dgl-faq__item.is-open .dgl-faq__a{ max-height:40rem; }
.dgl-faq__a > div{ padding:0 1.5rem 1.35rem; color:rgba(255,255,255,.7); line-height:1.8; font-size:.95rem; }
/* ============================================================
   CTA / CONTACT
   ============================================================ */
.dgl-cta{ text-align:center; }
.dgl-cta__contacts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin-top:2rem; }
@media (max-width:1023px) {.dgl-cta__contacts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:479px) {.dgl-cta__contacts{ grid-template-columns:1fr; }
}
.dgl-cta__card{ border-radius:1rem; padding:1rem; display:flex; align-items:center; gap:.75rem; text-decoration:none; text-align:start; }
.dgl-cta__card .dgl-chip{ width:2.5rem; height:2.5rem; border-radius:50%; font-size:.8rem; }
.dgl-cta__card b{ display:block; font-size:.7rem; color:rgba(255,255,255,.55); font-weight:400; }
.dgl-cta__card span{ display:block; font-size:.85rem; color:#fff; font-weight:700; word-break:break-word; }
/* ============================================================
   PAGE HERO / PACKAGES / INCLUSIONS / TOOLS
   ============================================================ */
.dgl-pagehero{ padding-block:9rem 3rem; position:relative; overflow:hidden; }
.dgl-pagehero__eyebrow{ font-size:.875rem; font-weight:700; color:rgb(var(--brand-hot)); margin-bottom:.75rem; }
.dgl-pagehero__blob{ position:absolute; border-radius:999px; pointer-events:none; filter:blur(140px); z-index:0; }
.dgl-pagehero__blob--a{ top:33%; inset-inline-end:-10rem; width:500px; height:500px; opacity:.4;
  background:linear-gradient(135deg,rgb(var(--brand-hot)),#7C3AED); }
.dgl-pagehero__blob--b{ bottom:25%; inset-inline-start:-10rem; width:400px; height:400px;
  background:rgba(231,15,87,.1); }
.dgl-pagehero > .dgl-wrap{ position:relative; z-index:1; }
/* hero preview stack — three tilted cards, the front one cross-fading */
.dgl-shots{ position:absolute; inset-inline-end:6%; top:50%; transform:translateY(-50%);
  width:260px; height:340px; z-index:2; pointer-events:none; }
@media (max-width:1023px) {.dgl-shots{ display:none; }
}
.dgl-shots__back, .dgl-shots__mid, .dgl-shots__front{ position:absolute; inset:0; border-radius:1rem; }
.dgl-shots__back{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(4px); transform:translate(-1.5rem,.75rem) rotate(-6deg);
  animation:dgl-shot-a 6s ease-in-out infinite; }
.dgl-shots__mid{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(4px); transform:translate(.75rem,-.5rem) rotate(4deg);
  animation:dgl-shot-b 7s ease-in-out infinite; }
.dgl-shots__front{ overflow:hidden; background:#0d0e1a; border:1px solid rgba(255,255,255,.15);
  box-shadow:0 30px 80px rgba(231,15,87,.35); }
.dgl-shots__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transform:scale(1.05); transition:opacity .6s,transform .6s; }
.dgl-shots__img.is-on{ opacity:1; transform:scale(1); }
.dgl-shots__dots{ position:absolute; bottom:.75rem; inset-inline:0; display:flex; gap:.375rem; justify-content:center; }
.dgl-shots__dots i{ height:.25rem; width:.25rem; border-radius:999px; background:rgba(255,255,255,.3);
  transition:all .5s; }
.dgl-shots__dots i.is-on{ width:1.25rem; background:rgb(var(--brand-hot)); }
@keyframes dgl-shot-a {
0%,100% { transform:translate(-1.5rem,.75rem) rotate(-6deg); }
50% { transform:translate(-1.5rem,.4375rem) rotate(-8deg); }
}
@keyframes dgl-shot-b {
0%,100% { transform:translate(.75rem,-.5rem) rotate(4deg); }
50% { transform:translate(.75rem,-.25rem) rotate(6deg); }
}
.dgl-pagehero__tags{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin:1.5rem 0; }
.dgl-pill{ border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.05); color:#fff; border-radius:999px; padding:.35rem 1rem; font-size:.8rem; }
.dgl-pagehero__ctas{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-top:1.5rem; }
.dgl-packages{ display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); align-items:stretch; }
.dgl-package{ position:relative; border-radius:1.5rem; padding:2rem; display:flex; flex-direction:column; }
/* the featured tier is a solid brand gradient on the original, not a glass card */
.dgl-package.is-featured{ background:linear-gradient(135deg,rgb(var(--brand-hot)),rgb(var(--brand-glow)));
  border:2px solid rgba(255,255,255,.2); box-shadow:0 30px 70px rgba(231,15,87,.35); transform:scale(1.02); color:#fff; }
.dgl-package__badge{ position:absolute; top:-.75rem; inset-inline-start:50%; transform:translateX(50%);
  background:#fff; color:rgb(var(--brand-space)); font-weight:900; font-size:.68rem; letter-spacing:.1em;
  text-transform:uppercase; padding:.25rem .75rem; border-radius:999px; box-shadow:0 6px 18px rgba(0,0,0,.3); white-space:nowrap; }
.dgl-package__head{ margin-bottom:1.25rem; }
.dgl-package__name{ font-size:.875rem; font-weight:700; color:rgb(var(--brand-hot)); margin-bottom:.25rem; }
.dgl-package.is-featured .dgl-package__name{ color:rgba(255,255,255,.8); }
.dgl-package__price{ display:flex; align-items:baseline; gap:.375rem; margin-bottom:.5rem; }
.dgl-package__pre{ font-size:1rem; font-weight:700; color:rgba(255,255,255,.65); }
.dgl-package.is-featured .dgl-package__pre{ color:rgba(255,255,255,.8); }
.dgl-package__cur{ font-size:.75rem; color:rgba(255,255,255,.55); }
.dgl-package.is-featured .dgl-package__cur{ color:rgba(255,255,255,.7); }
.dgl-package__num{ font-family:var(--dgl-font); font-size:2.75rem; font-weight:900; color:#fff; line-height:1; }
@media (min-width:768px) {.dgl-package__num{ font-size:3rem; }
}
.dgl-package__note{ font-size:.75rem; color:rgba(255,255,255,.55); }
.dgl-package.is-featured .dgl-package__note{ color:rgba(255,255,255,.7); }
.dgl-package__tag{ font-size:.875rem; color:rgba(255,255,255,.7); margin:0 0 1.25rem; }
.dgl-package.is-featured .dgl-package__tag{ color:rgba(255,255,255,.9); }
.dgl-package__body{ flex:1; margin-bottom:1.75rem; }
.dgl-package__list{ list-style:none; margin:0 0 .75rem; padding:0; display:flex; flex-direction:column; gap:.625rem; }
.dgl-package__list li{ display:flex; align-items:flex-start; gap:.5rem; font-size:.875rem; color:rgba(255,255,255,.85); line-height:1.5; }
.dgl-package__list li .dgl-ico{ color:rgb(var(--brand-hot)); margin-top:.1rem; }
.dgl-package.is-featured .dgl-package__list li{ color:#fff; }
.dgl-package.is-featured .dgl-package__list li .dgl-ico{ color:#fff; }
.dgl-package__list.is-out li{ color:rgba(255,255,255,.45); }
.dgl-package__list.is-out li .dgl-ico{ color:rgba(255,255,255,.35); }
.dgl-btn-white{ background:#fff; color:rgb(var(--brand-space)); font-weight:900;
  transition:transform .25s,box-shadow .3s; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.dgl-btn-white:hover{ transform:translateY(-2px); box-shadow:0 16px 40px rgba(0,0,0,.35); }
.dgl-package .dgl-btn{ margin-top:auto; }
/* add-ons + delivery panels */
.dgl-panels{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem;
  max-width:56rem; margin:3rem auto 0; }
@media (max-width:767px) {.dgl-panels{ grid-template-columns:1fr; }
}
.dgl-panel{ border-radius:1rem; padding:1.5rem; }
.dgl-panel h3{ display:flex; align-items:center; gap:.5rem; font-family:var(--dgl-font);
  font-weight:900; font-size:1.05rem; color:#fff; margin:0 0 1rem; }
.dgl-panel h3 .dgl-ico{ color:rgb(var(--brand-hot)); }
.dgl-panel ul{ list-style:none; margin:0; padding:0; }
.dgl-panel li{ display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  font-size:.875rem; padding-bottom:.625rem; margin-bottom:.625rem; border-bottom:1px solid rgba(255,255,255,.05); }
.dgl-panel li:last-child{ border-bottom:0; padding-bottom:0; margin-bottom:0; }
.dgl-panel li span{ color:rgba(255,255,255,.8); }
.dgl-panel li b{ color:rgb(var(--brand-hot)); font-weight:700; white-space:nowrap; }
.dgl-panel li b.is-muted{ color:rgba(255,255,255,.6); font-weight:400; }
/* pricing notes + the "not sure?" box */
.dgl-notes{ max-width:48rem; margin:3rem auto 0; }
.dgl-notes ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.375rem; }
.dgl-notes li{ display:flex; gap:.5rem; font-size:.75rem; line-height:1.7; color:rgba(255,255,255,.45); }
.dgl-notes li span:first-child{ color:rgba(231,15,87,.6); flex:0 0 auto; }
.dgl-notes__help{ margin-top:1.25rem; border-radius:1rem; padding:1.25rem; text-align:center; }
.dgl-notes__help p{ margin:0; font-size:.875rem; color:rgba(255,255,255,.85); }
.dgl-inclusions{ display:grid; gap:1.25rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:767px) {.dgl-inclusions{ grid-template-columns:1fr; }
}
.dgl-inclusion{ position:relative; display:flex; align-items:flex-start; gap:1.25rem;
  padding:1.75rem; border-radius:1rem; overflow:hidden; }
.dgl-inclusion__bar{ position:absolute; inset-block:0; inset-inline-end:0; width:4px;
  background:linear-gradient(180deg,rgb(var(--brand-hot)),rgb(var(--brand-glow))); }
.dgl-inclusion__n{ flex:0 0 auto; font-family:var(--dgl-font); font-size:2.5rem; font-weight:900; line-height:1;
  -webkit-text-stroke:1.5px rgba(255,255,255,.7); -webkit-text-fill-color:transparent;
  transition:-webkit-text-fill-color .5s; }
@media (min-width:768px) {.dgl-inclusion__n{ font-size:3rem; }
}
.dgl-inclusion:hover .dgl-inclusion__n{ -webkit-text-fill-color:#fff; }
.dgl-inclusion__body{ min-width:0; }
.dgl-inclusion h4{ font-family:var(--dgl-font); font-size:1.1rem; font-weight:900; color:#fff; margin:0 0 .5rem; }
.dgl-inclusion p{ font-size:.9rem; line-height:1.7; color:rgba(255,255,255,.65); margin:0; }
.dgl-inclusions__badges{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:1.5rem; margin-top:2.5rem; font-size:.875rem; color:rgba(255,255,255,.6); }
.dgl-inclusions__badges span{ display:inline-flex; align-items:center; gap:.5rem; }
.dgl-inclusions__badges .dgl-ico{ color:rgb(var(--brand-hot)); }
.dgl-wrap--tools{ max-width:64rem; }
.dgl-tools__kick{ font-family:var(--dgl-mono); font-size:.72rem; letter-spacing:.15em;
  text-transform:uppercase; color:rgb(var(--brand-hot)); margin-bottom:.5rem; }
.dgl-tools__sub{ font-size:.875rem; color:rgba(255,255,255,.55); margin:0; }
.dgl-tools{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.75rem; }
.dgl-tool{ position:relative; display:inline-flex; align-items:center; gap:.75rem;
  border-radius:1rem; padding:.75rem 1rem; color:#fff; transition:border-color .3s,transform .3s; }
.dgl-tool:hover{ border-color:rgba(231,15,87,.4); transform:translateY(-3px); }
.dgl-tool img{ width:2.25rem; height:2.25rem; object-fit:contain; flex:0 0 auto; }
.dgl-tool__mark{ width:2.25rem; height:2.25rem; border-radius:.5rem; flex:0 0 auto; display:grid; place-items:center;
  background:linear-gradient(135deg,rgb(var(--brand-hot)),rgb(var(--brand-glow))); }
.dgl-tool__mark i{ width:.75rem; height:.75rem; background:#fff; border-radius:2px; transform:rotate(45deg); display:block; }
.dgl-tool b{ font-size:.875rem; font-weight:700; white-space:nowrap; }
/* the description is a hover tooltip on the original, not a second line */
.dgl-tool__tip{ position:absolute; bottom:100%; inset-inline-start:50%; transform:translateX(50%);
  margin-bottom:.5rem; white-space:nowrap; z-index:10; pointer-events:none;
  opacity:0; transition:opacity .2s; font-size:.7rem; color:#fff; padding:.4rem .7rem; border-radius:.5rem;
  background:linear-gradient(135deg,rgba(231,15,87,.9),rgba(33,23,93,.95));
  box-shadow:0 10px 26px rgba(0,0,0,.4); }
.dgl-tool:hover .dgl-tool__tip{ opacity:1; }
/* ============================================================
   STARFIELD backdrop
   ============================================================ */
.dgl-starfield{ position:fixed; inset:0; z-index:0; pointer-events:none; }
.dgl-starfield canvas{ width:100%; height:100%; display:block; }
/* ============================================================
   NAV — frosted pill header
   ============================================================ */
.dgl-nav{ position:fixed; inset-inline:0; top:0; z-index:100; padding:1.25rem 1.5rem; transition:padding .5s; }
.dgl-nav.is-scrolled{ padding:.75rem 1.5rem; }
.dgl-nav__bar{ max-width:80rem; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  border-radius:999px; padding:.5rem .5rem .5rem 1.25rem;
  background:rgba(255,255,255,.72); backdrop-filter:blur(24px) saturate(180%); -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,.5); box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 40px rgba(22,4,59,.2); transition:background .5s,box-shadow .5s; }
.dgl-nav.is-scrolled .dgl-nav__bar{ background:rgba(255,255,255,.88); box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 14px 50px rgba(231,15,87,.18); }
.dgl-nav__logo{ display:flex; align-items:center; flex:0 0 auto; }
.dgl-nav__logo img{ height:44px; width:auto; display:block; }
.dgl-nav__links{ display:flex; align-items:center; gap:1.75rem; list-style:none; margin:0; padding:0; }
.dgl-nav__links > li{ position:relative; }
.dgl-nav__links > li > a{ font-family:var(--dgl-font); font-size:.9rem; font-weight:700; color:rgba(22,4,59,.8);
  text-decoration:none; display:inline-flex; align-items:center; gap:.3rem; padding:.4rem 0; position:relative; transition:color .25s; }
.dgl-nav__links > li > a::after{ content:""; position:absolute; bottom:0; inset-inline-end:0; height:2px; width:0;
  background:rgb(var(--brand-hot)); border-radius:2px; transition:width .3s; }
.dgl-nav__links > li > a:hover{ color:rgb(var(--brand-hot)); }
.dgl-nav__links > li > a:hover::after{ width:100%; }
.dgl-nav__caret{ width:0; height:0; border-inline:4px solid transparent; border-top:5px solid currentColor; display:inline-block; transition:transform .25s; }
.dgl-nav__links > li.has-drop:hover .dgl-nav__caret{ transform:rotate(180deg); }
.dgl-nav__drop{ position:absolute; top:100%; inset-inline-end:0; margin-top:.75rem; min-width:16rem; list-style:none; padding:.5rem;
  border-radius:1rem; background:rgba(255,255,255,.96); backdrop-filter:blur(24px);
  box-shadow:0 20px 60px rgba(22,4,59,.25); border:1px solid rgba(255,255,255,.6);
  opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .22s,transform .22s,visibility .22s; }
.dgl-nav__links > li.has-drop:hover .dgl-nav__drop, .dgl-nav__links > li.has-drop:focus-within .dgl-nav__drop{ opacity:1; visibility:visible; transform:none; }
.dgl-nav__drop a{ display:block; padding:.6rem .85rem; border-radius:.65rem; text-decoration:none; transition:background .2s; }
.dgl-nav__drop a:hover{ background:rgba(231,15,87,.08); }
.dgl-nav__drop b{ display:block; font-family:var(--dgl-font); font-size:.9rem; color:rgb(var(--brand-space)); }
.dgl-nav__drop span{ display:block; font-size:.75rem; color:rgba(22,4,59,.55); }
.dgl-nav__right{ display:flex; align-items:center; gap:.75rem; flex:0 0 auto; }
.dgl-nav__cta{ padding:.7rem 1.5rem; font-size:.9rem; }
.dgl-nav__burger{ display:none; flex-direction:column; gap:4px; background:none; border:0; padding:.6rem; cursor:pointer; }
.dgl-nav__burger span{ display:block; width:20px; height:2px; background:rgb(var(--brand-space)); border-radius:2px; transition:transform .3s,opacity .3s; }
.dgl-nav.is-open .dgl-nav__burger span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.dgl-nav.is-open .dgl-nav__burger span:nth-child(2){ opacity:0; }
.dgl-nav.is-open .dgl-nav__burger span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }
@media (max-width:1024px) {.dgl-nav__burger{ display:flex; }
.dgl-nav__cta{ display:none; }
.dgl-nav__links{ position:absolute; top:calc(100% + .75rem); inset-inline:1.5rem; flex-direction:column; align-items:stretch; gap:.25rem;
    background:rgba(255,255,255,.97); border-radius:1.25rem; padding:.75rem; box-shadow:0 20px 60px rgba(22,4,59,.25); display:none; }
.dgl-nav.is-open .dgl-nav__links{ display:flex; }
.dgl-nav__links > li > a{ padding:.6rem .9rem; display:flex; align-items:center; justify-content:space-between; }
/* The sub-menu used to be permanently open on phones, which is what made the
   panel so tall and left "שירותים" looking stuck. It now starts closed and the
   caret is what opens it — tapping the label still goes to the services page. */
.dgl-nav__drop{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none;
    background:rgba(231,15,87,.04); margin:0 0 .35rem; display:none; }
.dgl-nav__links > li.has-drop.is-open > .dgl-nav__drop{ display:block; }
.dgl-nav__drop a{ padding:.45rem .85rem; }
.dgl-nav__drop b{ font-size:.85rem; }
.dgl-nav__drop span{ font-size:.7rem; }
.dgl-nav__caret{ padding:.55rem; margin:-.55rem; border-radius:50%; transition:transform .25s; }
.dgl-nav__links > li.has-drop.is-open > a .dgl-nav__caret{ transform:rotate(180deg); }
/* Never let the panel outgrow the screen. */
.dgl-nav__links{ max-height:calc(100vh - 7rem); overflow-y:auto; -webkit-overflow-scrolling:touch; }
}
/* ============================================================
   WHATSAPP FLOATING BUTTON
   ============================================================ */
.dgl-fab{ position:fixed; bottom:1.5rem; inset-inline-start:1.5rem; z-index:90; width:3.5rem; height:3.5rem; border-radius:50%;
  display:grid; place-items:center; background:#25D366; color:#fff; box-shadow:0 10px 30px rgba(37,211,102,.4);
  text-decoration:none; transition:transform .25s; }
.dgl-fab:hover{ transform:scale(1.08); }
.dgl-fab svg{ width:1.75rem; height:1.75rem; fill:currentColor; }
/* ============================================================
   FOOTER
   ============================================================ */
.dgl-footer{ padding:4rem 1.5rem 2rem; border-top:1px solid rgba(255,255,255,.06); }
.dgl-footer__grid{ max-width:80rem; margin:0 auto; display:grid; gap:2.5rem; grid-template-columns:1.4fr 1fr 1fr 1.2fr; }
.dgl-footer__logo{ height:44px; width:auto; margin-bottom:1rem; }
.dgl-footer__tag{ color:rgba(255,255,255,.6); font-size:.9rem; line-height:1.7; margin:0 0 1rem; }
.dgl-footer__social{ display:flex; gap:.6rem; }
.dgl-footer__social a{ width:2.75rem; height:2.75rem; border-radius:50%; background:rgba(255,255,255,.05); display:grid; place-items:center;
  color:#fff; text-decoration:none; font-size:.75rem; font-weight:700; transition:background .25s; }
.dgl-footer__social a:hover{ background:rgb(var(--brand-hot)); }
.dgl-footer__h{ font-family:var(--dgl-font); font-weight:900; font-size:.85rem; letter-spacing:.08em; color:rgb(var(--brand-hot)); margin:0 0 1rem; }
.dgl-footer__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.dgl-footer__list li, .dgl-footer__list a{ color:rgba(255,255,255,.65); font-size:.9rem; text-decoration:none; transition:color .2s; }
.dgl-footer__list a:hover{ color:#fff; }
.dgl-footer__legal{ max-width:80rem; margin:2.5rem auto 0; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.06);
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; font-size:.8rem; color:rgba(255,255,255,.45); }
.dgl-footer__legal-links{ display:flex; gap:1.25rem; flex-wrap:wrap; }
.dgl-footer__legal-links a{ color:rgba(255,255,255,.45); text-decoration:none; }
.dgl-footer__legal-links a:hover{ color:#fff; }
@media (max-width:900px) {.dgl-footer__grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width:560px) {.dgl-footer__grid{ grid-template-columns:1fr; }
}
/* ---------- additions for 1:1 parity with the original ---------- */
.dgl-warrior__story{ max-width:52rem; margin:0 auto 3rem; text-align:center; }
.dgl-warrior__story p{ color:rgba(255,255,255,.7); line-height:1.85; margin:0 0 .75rem; font-size:1rem; }
.dgl-tool{ flex-direction:column; align-items:flex-start; gap:.15rem; padding:.7rem 1.15rem; text-align:start; }
.dgl-tool b{ font-weight:700; }
.dgl-tool i{ font-style:normal; font-size:.75rem; color:rgba(255,255,255,.55); }
.dgl-case__label{ font-family:var(--dgl-mono); font-size:.68rem; letter-spacing:.15em; text-transform:uppercase;
  color:rgb(var(--brand-hot)); margin:1.25rem 0 .6rem; }
.dgl-case summary{ display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  cursor:pointer; font-size:.8rem; color:rgba(255,255,255,.6); list-style:none; }
.dgl-case summary::-webkit-details-marker{ display:none; }
.dgl-case summary b{ color:rgb(var(--brand-hot)); font-weight:700; white-space:nowrap; }
.dgl-portfolio__cta{ text-align:center; margin-top:4rem; }
.dgl-fab{ position:fixed; }
.dgl-fab__bubble{ position:absolute; inset-inline-start:calc(100% + .6rem); white-space:nowrap;
  background:rgba(33,23,93,.9); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.12);
  color:#fff; font-size:.78rem; font-family:var(--dgl-font); padding:.45rem .9rem; border-radius:999px;
  opacity:0; transform:translateX(-6px); transition:opacity .3s,transform .3s; pointer-events:none; }
.dgl-fab:hover .dgl-fab__bubble{ opacity:1; transform:none; }
@media (max-width:640px) {.dgl-fab__bubble{ display:none; }
}
/* Fixed + translate, so the off-screen state never widens the document —
   an inset-based hide lands on the right in RTL and creates a scrollbar. */
.dgl-skip{ position:fixed; top:0; inset-inline-start:1rem; z-index:200;
  background:rgb(var(--brand-hot)); color:#fff; padding:.75rem 1.25rem; border-radius:0 0 .75rem .75rem;
  font-family:var(--dgl-font); font-weight:700; text-decoration:none;
  transform:translateY(-200%); transition:transform .2s; }
.dgl-skip:focus{ transform:translateY(0); }
/* ---------- floating hero dashboard cards ---------- */
.dgl-dashboards{ position:absolute; inset:0; pointer-events:none; z-index:5; }
.dgl-dash{ position:absolute; width:200px; border-radius:1rem; padding:1rem;
  box-shadow:0 20px 60px rgba(0,0,0,.3); animation:dgl-float 7s ease-in-out infinite; }
.dgl-dash.dgl-glass-hot{ box-shadow:0 20px 60px rgba(231,15,87,.25); }
.dgl-dash--tr{ top:12%; right:2%; animation-delay:0s; }
.dgl-dash--tl{ top:16%; left:2%; animation-delay:.9s; }
.dgl-dash--br{ bottom:10%; right:3%; animation-delay:1.8s; }
.dgl-dash--bl{ bottom:14%; left:3%; animation-delay:2.7s; }
@media (max-height:900px) {.dgl-dash--br{ bottom:4%; }
.dgl-dash--bl{ bottom:6%; }
}

@media (max-width:1279px) {.dgl-dash{ display:none; }
}

@media (min-width:1280px) {.dgl-dash--tr{ right:8%; }
.dgl-dash--tl{ left:8%; }
.dgl-dash--br{ right:10%; }
.dgl-dash--bl{ left:10%; }
}
@keyframes dgl-float {
0%,100% { transform:translateY(0); }
50% { transform:translateY(-14px); }
}
.dgl-dash__top{ display:flex; align-items:center; gap:.5rem; margin-bottom:.5rem; }
.dgl-dash__l{ font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.dgl-dash__d{ margin-inline-start:auto; font-size:.65rem; font-weight:700; color:#4ade80; }
.dgl-dash__v{ font-family:var(--dgl-font); font-size:1.85rem; font-weight:900; color:#fff; line-height:1.1; }
.dgl-dash__s{ font-size:.7rem; color:rgba(255,255,255,.55); margin-top:.35rem; }
.dgl-dash__bars{ display:flex; align-items:flex-end; gap:3px; height:2.5rem; margin-bottom:.5rem; }
.dgl-dash__bars i{ flex:1; background:linear-gradient(to top,rgb(var(--brand-hot)),rgba(231,15,87,.35));
  border-radius:2px; display:block; }
.dgl-dash__bar{ width:100%; height:6px; background:rgba(255,255,255,.1); border-radius:999px; overflow:hidden; margin-top:.5rem; }
.dgl-dash__bar i{ display:block; height:100%; border-radius:999px;
  background:linear-gradient(to right,rgb(var(--brand-hot)),#f472b6); }
@media (max-width:767px) {.dgl-dashboards{ display:none; }
}
.dgl-case__hint{ display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  margin-top:1rem; padding-top:.9rem; border-top:1px solid rgba(255,255,255,.08);
  font-size:.78rem; color:rgba(255,255,255,.55); }
.dgl-case__hint b{ color:rgb(var(--brand-hot)); font-weight:700; white-space:nowrap; }
/* ============================================================
   FIXES — theme/Elementor button styles were leaking into the
   FAQ rows and carousel controls, and the carousel needed real
   pixel stepping plus a grab cursor.
   ============================================================ */
.dgl button, .dgl button:hover, .dgl button:focus{
  background: none; border: 0; box-shadow: none; color: inherit;
  font-family: var(--dgl-font); border-radius: 0; text-shadow: none;
}
.dgl .dgl-portfolio__filter{ border: 1px solid rgba(255,255,255,.1); border-radius: 999px; }
.dgl .dgl-portfolio__filter.is-active{ border-color: rgb(var(--brand-hot)); }
.dgl .dgl-testimonials__nav button{ border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.dgl .dgl-testimonials__dots button{ border-radius: 999px; }
.dgl-faq__item{ background: rgba(33,23,93,.28); border: 1px solid rgba(255,255,255,.1); }
.dgl .dgl-faq__q{
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  text-align: start; padding: 1.25rem 1.5rem; cursor: pointer;
  font-size: 1.05rem; font-weight: 700; line-height: 1.5; color: #fff;
  background: none; border: 0; border-radius: 0;
}
.dgl .dgl-faq__q:hover{ color: rgb(var(--brand-hot)); }
.dgl-faq__item.is-open{ border-color: rgba(231,15,87,.4); box-shadow: none; }
.dgl-testimonials__viewport{ cursor: grab; touch-action: pan-y; }
.dgl-testimonials__viewport.is-dragging{ cursor: grabbing; user-select: none; }
.dgl-testimonials__track{ will-change: transform; }
.dgl-testimonial__mark{ color: rgba(231,15,87,.4); line-height: 0; margin-bottom: .75rem; }
.dgl-testimonials__nav button{ display: grid; place-items: center; }
/* the brand icon set inherits the chip's colour */
.dgl-ico{ display: block; flex: 0 0 auto; }
.dgl-chip .dgl-ico{ color: #fff; }
/* Elementor gives every widget position:relative, which would anchor the
   floating cards to their own (zero-height) wrapper instead of the hero. */
.elementor-widget-dgl-dashboards{ position: static; height: 0; }
.elementor-widget-dgl-dashboards >{ position: static; }
/* dashboard card details that match the original */
.dgl-dash__i{ display:grid; place-items:center; color:rgb(var(--brand-hot)); flex:0 0 auto; }
.dgl-dash__live{ margin-inline-start:auto; width:8px; height:8px; border-radius:50%; background:#4ade80;
  box-shadow:0 0 0 0 rgba(74,222,128,.6); animation:dgl-ping 1.8s ease-out infinite; }
@keyframes dgl-ping {
0% { box-shadow:0 0 0 0 rgba(74,222,128,.55); }
100% { box-shadow:0 0 0 8px rgba(74,222,128,0); }
}
.dgl-dash__spark{ display:block; width:100%; height:30px; margin-top:.45rem; color:rgb(var(--brand-hot)); }
.dgl-hero__ufo{ z-index:4; }
.dgl-btn .dgl-arrow{ transition:transform .3s; }
.dgl-btn:hover .dgl-arrow{ transform:translateX(-4px); }
/* ad-platform badges on the case-study header, in each platform's own colours */
.dgl-case__plats{ display:flex; align-items:center; gap:.375rem; }
.dgl-plat{ width:1.75rem; height:1.75rem; border-radius:.375rem; display:grid; place-items:center;
  font-family:var(--dgl-font); font-weight:900; font-size:.8rem; color:#fff; flex:0 0 auto; }
.dgl-plat--facebook{ background:#1877F2; }
.dgl-plat--instagram{ background:linear-gradient(to top right,#F58529,#DD2A7B,#8134AF); font-size:.65rem; }
.dgl-plat--google{ background:#fff; color:#4285F4; }
.dgl-plat--tiktok{ background:#000; font-size:.65rem; }
.dgl-case__vsep{ width:1px; height:2.5rem; background:rgba(255,255,255,.1); display:block; }
.dgl-case__bar{ justify-content:flex-start; gap:1rem; }
.dgl-case__meta{ margin-inline-start:auto; }
/* Belt and braces for the same issue: if a container still slips through
   Elementor's lazy-load gate, keep the brand gradients painting. */
.dgl-glass-hot{ background-image: linear-gradient(135deg,rgba(231,15,87,.15),rgba(33,23,93,.35)); }
.dgl-chip{ background-image: linear-gradient(135deg,rgb(var(--brand-hot)),rgb(var(--brand-glow))); }
.dgl-btn-primary{ background-image: linear-gradient(135deg,rgb(var(--brand-hot)) 0%,color-mix(in srgb,rgb(var(--brand-hot)) 74%,#000) 100%); }
.dgl-badge{ background-image: linear-gradient(135deg,rgba(231,15,87,.15),rgba(33,23,93,.35)); }
.dgl-testimonial__av{ background-image: linear-gradient(135deg,rgb(var(--brand-hot)),rgb(var(--brand-glow))); }
.dgl-plat--instagram{ background-image: linear-gradient(to top right,#F58529,#DD2A7B,#8134AF); }
/* breadcrumbs above the inner-page title */
.dgl-crumbs{ display:flex; align-items:center; justify-content:center; gap:.5rem; margin-bottom:1rem;
  font-size:.8rem; color:rgba(255,255,255,.5); }
.dgl-crumbs a{ color:rgba(255,255,255,.6); text-decoration:none; transition:color .2s; }
.dgl-crumbs a:hover{ color:rgb(var(--brand-hot)); }
.dgl-crumbs span[aria-current]{ color:rgb(var(--brand-hot)); }
.dgl-crumbs--start{ justify-content:flex-start; }
/* Hello Elementor prints the page title above the builder content in its own
   dark grey — invisible on this dark theme, and every template already renders
   its own title. */
html body .site-main > .page-header{ display: none; }
/* ---------- service gallery ---------- */
.dgl-gal__filters{ display:flex; gap:.5rem; overflow-x:auto; padding-bottom:.25rem; margin-bottom:1.5rem;
  scrollbar-width:none; -ms-overflow-style:none; }
.dgl-gal__filters::-webkit-scrollbar{ display:none; }
.dgl-gal__f{ flex:0 0 auto; border-radius:999px; padding:.5rem 1rem; font-size:.75rem; font-weight:700;
  white-space:nowrap; cursor:pointer; transition:all .3s;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.75);
  backdrop-filter:blur(12px); }
.dgl-gal__f:hover{ color:#fff; }
.dgl-gal__f.is-on{ background:rgb(var(--brand-hot)); border-color:rgb(var(--brand-hot)); color:#fff;
  box-shadow:0 8px 20px rgba(231,15,87,.35); }
.dgl-gal__grid{ column-count:4; column-gap:1rem; }
@media (max-width:1023px) {.dgl-gal__grid{ column-count:3; }
}

@media (max-width:767px)  {.dgl-gal__grid{ column-count:2; column-gap:.75rem; }
}
.dgl-gal__item{ position:relative; display:block; break-inside:avoid; margin-bottom:1rem;
  border-radius:1rem; overflow:hidden; border:1px solid rgba(255,255,255,.1);
  box-shadow:0 15px 40px rgba(0,0,0,.25); transition:border-color .5s,box-shadow .5s,transform .5s; }
.dgl-gal__item:hover{ border-color:rgba(231,15,87,.45); box-shadow:0 25px 60px rgba(231,15,87,.3); transform:translateY(-4px); }
.dgl-gal__item.is-hidden{ display:none; }
.dgl-gal__item img{ display:block; width:100%; height:auto; }
.dgl-gal__veil{ position:absolute; inset:0; background:rgba(0,0,0,0); transition:background .4s; }
.dgl-gal__item:hover .dgl-gal__veil{ background:rgba(0,0,0,.3); }
.dgl-gal__zoom{ position:absolute; bottom:.75rem; inset-inline-start:.75rem;
  width:2.25rem; height:2.25rem; border-radius:999px; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0); color:#0B0125; opacity:0; box-shadow:0 8px 20px rgba(0,0,0,.35);
  transition:all .4s; }
.dgl-gal__item:hover .dgl-gal__zoom{ background:rgba(255,255,255,.95); opacity:1; }
.dgl-gal__more{ text-align:center; margin-top:2.5rem; }
.dgl-gal__btn{ display:inline-flex; align-items:center; gap:.5rem; padding:1rem 2.25rem; }
.dgl-gal__plus{ display:inline-flex; transition:transform .3s; }
.dgl-gal__btn:hover .dgl-gal__plus{ transform:rotate(90deg); }
.dgl-gal__count{ font-style:normal; font-size:.7rem; font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  color:rgba(255,255,255,.7); margin-inline-start:.25rem; }
.dgl-gal__done{ text-align:center; margin-top:2.5rem; }
.dgl-gal__done .dgl-glass-hot{ display:inline-flex; align-items:center; gap:.5rem; border-radius:999px;
  padding:.625rem 1.25rem; font-size:.875rem; font-weight:700; }
.dgl-gal__done i{ font-style:normal; color:rgb(var(--brand-hot)); }
.dgl-gal__empty{ border-radius:1rem; padding:2.5rem; text-align:center; color:rgba(255,255,255,.6); }
/* service-page process variant: four plain cards joined by a straight rule */
.dgl-process__line{ position:absolute; top:4rem; inset-inline:12%; height:1px; z-index:0; opacity:.4;
  background:linear-gradient(to right,transparent,rgb(var(--brand-hot)),transparent); }
@media (max-width:1023px) {.dgl-process__line{ display:none; }
}
.dgl-step__top.is-plain{ display:block; margin-bottom:.75rem; }
.dgl-step__top.is-plain .dgl-step__n{ font-size:3rem; }
/* ---------- "why it matters" card ---------- */
.dgl-wrap--why{ max-width:56rem; }
.dgl-why{ border-radius:2rem; padding:2rem; text-align:center; }
@media (min-width:768px) {.dgl-why{ padding:3rem; }
}
.dgl-why__label{ display:inline-flex; align-items:center; gap:.5rem; margin-bottom:1rem;
  font-family:var(--dgl-mono); font-size:.8rem; letter-spacing:.15em; color:rgb(var(--brand-hot)); }
.dgl-why p{ margin:0; font-size:1.25rem; line-height:1.7; color:#fff; font-weight:500; }
@media (min-width:768px) {.dgl-why p{ font-size:1.5rem; }
}
/* ---------- cross-sell cards ---------- */
.dgl-cross__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
@media (max-width:1023px) {.dgl-cross__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.dgl-cross__card{ position:relative; display:block; aspect-ratio:3/4; border-radius:1rem; overflow:hidden;
  text-decoration:none; color:#fff; transition:transform .5s; }
.dgl-cross__card:hover{ transform:translateY(-8px); }
.dgl-cross__glow{ position:absolute; inset:0;
  background:radial-gradient(circle at 20% 20%, rgba(255,255,255,.25), transparent 55%); }
.dgl-cross__fade{ position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.6), rgba(0,0,0,.1) 60%, transparent); }
.dgl-cross__shine{ position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.dgl-cross__shine::before{ content:""; position:absolute; top:0; bottom:0; width:50%; inset-inline-start:-100%;
  background:linear-gradient(to left,transparent,rgba(255,255,255,.2),transparent); transition:transform 1.2s ease-out; }
.dgl-cross__card:hover .dgl-cross__shine::before{ transform:translateX(-300%); }
.dgl-cross__inner{ position:absolute; inset:0; padding:1rem; display:flex; flex-direction:column;
  justify-content:space-between; }
.dgl-cross__num{ display:block; font-family:var(--dgl-mono); font-size:.62rem; letter-spacing:.2em;
  color:rgba(255,255,255,.7); margin-bottom:.35rem; }
.dgl-cross__top b{ display:block; font-family:var(--dgl-font); font-weight:900; font-size:1.05rem; line-height:1.2; }
@media (min-width:768px) {.dgl-cross__top b{ font-size:1.25rem; }
}
.dgl-cross__bottom i{ display:block; font-style:normal; font-size:.78rem; line-height:1.4;
  color:rgba(255,255,255,.85); margin-bottom:.75rem; }
.dgl-cross__go{ display:inline-flex; align-items:center; gap:.375rem; border-radius:999px;
  background:rgba(255,255,255,.2); backdrop-filter:blur(6px); padding:.25rem .65rem;
  font-size:.72rem; font-weight:700; transition:background .3s,color .3s; }
.dgl-cross__card:hover .dgl-cross__go{ background:#fff; color:rgb(var(--brand-space)); }
.dgl-cross__hint{ text-align:center; margin-top:2.5rem; }
.dgl-cross__hint span{ display:inline-flex; align-items:center; gap:.5rem; border-radius:999px;
  padding:.6rem 1.25rem; font-size:.875rem; }
.dgl-cross__hint i{ font-style:normal; color:rgb(var(--brand-hot)); }
.dgl-cross__hint b{ font-weight:700; color:#fff; }
/* ---------- on-this-page rail ---------- */
.dgl-toc{ position:fixed; top:50%; transform:translateY(-50%); z-index:30; }
.dgl-toc--left{ left:1.5rem; }
.dgl-toc--right{ right:1.5rem; }
@media (max-width:1279px) {.dgl-toc{ display:none; }
}
.dgl-toc__box{ width:220px; max-height:70vh; overflow-y:auto; border-radius:1rem; padding:1rem; }
.dgl-toc__kick{ font-size:.7rem; font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.15em; text-transform:uppercase; color:rgb(var(--brand-hot)); margin-bottom:.75rem; }
.dgl-toc ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.25rem; }
.dgl-toc a{ display:flex; align-items:center; gap:.625rem; font-size:.75rem; padding:.375rem .5rem;
  border-radius:.5rem; color:rgba(255,255,255,.55); text-decoration:none; transition:all .3s; }
.dgl-toc a:hover{ color:#fff; background:rgba(255,255,255,.05); }
.dgl-toc a.is-on{ background:rgba(231,15,87,.15); color:rgb(var(--brand-hot)); font-weight:700; }
.dgl-toc__n{ flex:0 0 1.25rem; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:rgba(255,255,255,.3); }
.dgl-toc a:hover .dgl-toc__n{ color:rgba(255,255,255,.6); }
.dgl-toc a.is-on .dgl-toc__n{ color:rgb(var(--brand-hot)); }
.dgl-toc__rule{ flex:0 0 auto; height:1px; width:.5rem; background:rgba(255,255,255,.2); transition:all .3s; }
.dgl-toc a:hover .dgl-toc__rule{ width:.75rem; background:rgba(255,255,255,.5); }
.dgl-toc a.is-on .dgl-toc__rule{ width:1rem; background:rgb(var(--brand-hot)); }
.dgl-toc__label{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.elementor-widget-dgl-toc{ position:static; height:0; }
/* ---------- contact methods grid ---------- */
.dgl-methods{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
@media (max-width:1023px) {.dgl-methods{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:639px)  {.dgl-methods{ grid-template-columns:1fr; }
}
.dgl-method{ display:flex; align-items:center; gap:1rem; border-radius:1rem; padding:1.25rem;
  text-decoration:none; color:inherit; transition:transform .3s; }
.dgl-method:hover{ transform:translateY(-4px); }
.dgl-method__chip{ flex:0 0 auto; width:3rem; height:3rem; border-radius:1rem; display:flex;
  align-items:center; justify-content:center; background:rgba(255,255,255,.1); color:#fff; }
.dgl-method__chip.is-hot{ background:linear-gradient(135deg,rgb(var(--brand-hot)),#E11D48); }
.dgl-method__body{ min-width:0; flex:1; }
.dgl-method__body i{ display:block; font-style:normal; font-size:.75rem; color:rgba(255,255,255,.55); }
.dgl-method__body b{ display:block; font-weight:700; color:#fff; overflow-wrap:break-word; }
.dgl-methods__note{ text-align:center; font-size:.875rem; color:rgba(255,255,255,.5); margin-top:2.5rem; }
/* ---------- bio block ---------- */
.dgl-bio__n{ position:absolute; top:2rem; inset-inline-end:5%; font-family:var(--dgl-font);
  font-weight:900; font-size:9rem; line-height:1; color:rgba(255,255,255,.04); pointer-events:none; z-index:0; }
@media (max-width:767px) {.dgl-bio__n{ display:none; }
}
.dgl-bio__quote{ position:relative; z-index:1; max-width:48rem; margin-inline:auto;
  padding-inline-start:1.5rem; border-inline-start:2px solid rgb(var(--brand-hot)); }
.dgl-bio__quote p{ font-size:1.125rem; line-height:1.75; font-weight:300; color:rgba(255,255,255,.8); margin:0; }
@media (min-width:768px) {.dgl-bio__quote p{ font-size:1.25rem; }
}
.dgl-bio__quote b{ display:block; margin-top:1rem; color:#fff; font-weight:900; }
.dgl-bio__place{ display:inline-flex; align-items:center; gap:.5rem; margin-top:1.5rem;
  font-size:.875rem; color:rgba(255,255,255,.55); }
.dgl-bio__place svg{ color:rgb(var(--brand-hot)); }
/* ---------- personal letter ---------- */
.dgl-letter{ position:relative; overflow:hidden; border-radius:2rem; padding:2.5rem; }
@media (min-width:768px) {.dgl-letter{ padding:4rem; }
}
.dgl-letter__mark{ position:absolute; top:1.5rem; inset-inline-start:1.5rem; font-family:var(--dgl-font);
  font-size:3.75rem; line-height:1; color:rgba(231,15,87,.2); user-select:none; }
.dgl-letter__title{ line-height:1.2; margin:0 0 1.75rem; }
.dgl-letter__body{ display:flex; flex-direction:column; gap:1rem; }
.dgl-letter__body p{ font-size:1rem; line-height:1.75; font-weight:300; color:rgba(255,255,255,.8); margin:0; }
@media (min-width:768px) {.dgl-letter__body p{ font-size:1.125rem; }
}
.dgl-letter__body p.is-bold{ color:#fff; font-weight:900; }
.dgl-letter__foot{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:1.5rem; margin-top:3rem; padding-top:2rem; border-top:1px solid rgba(255,255,255,.1); }
.dgl-letter__signoff{ font-size:.875rem; color:rgba(255,255,255,.55); margin-bottom:.5rem; }
.dgl-letter__sig{ height:4rem; width:auto; filter:brightness(0) invert(1); }
@media (min-width:768px) {.dgl-letter__sig{ height:5rem; }
}
.dgl-letter__name{ font-size:.875rem; color:rgba(255,255,255,.5); margin-top:.5rem; }
/* ---------- promises card ---------- */
.dgl-promises{ border-radius:2rem; padding:2rem; }
@media (min-width:768px) {.dgl-promises{ padding:3rem; }
}
.dgl-promises__title{ font-family:var(--dgl-font); font-weight:900; font-size:1.5rem; color:#fff;
  text-align:center; margin:0 0 2rem; }
@media (min-width:768px) {.dgl-promises__title{ font-size:1.875rem; }
}
.dgl-promises__grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
@media (max-width:639px) {.dgl-promises__grid{ grid-template-columns:1fr; }
}
.dgl-promise{ display:flex; align-items:flex-start; gap:.75rem; color:rgba(255,255,255,.85); }
.dgl-promise__chip{ flex:0 0 auto; width:1.75rem; height:1.75rem; border-radius:.5rem; margin-top:.125rem;
  display:flex; align-items:center; justify-content:center; color:#fff;
  background:linear-gradient(135deg,rgb(var(--brand-hot)),#7C3AED); }
/* ---------- magazine cards ---------- */
.dgl-post{ display:block; border-radius:1rem; overflow:hidden; text-decoration:none; color:inherit;
  transition:transform .5s; height:100%; }
.dgl-post:hover{ transform:translateY(-4px); }
.dgl-post__media{ position:relative; display:flex; align-items:flex-end; overflow:hidden;
  height:9rem; padding:1rem; }
.dgl-post__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dgl-post__cat{ position:relative; z-index:1; border-radius:999px; padding:.25rem .75rem;
  font-size:.75rem; font-weight:700; color:#fff; background:rgba(0,0,0,.45); backdrop-filter:blur(8px); }
.dgl-post__body{ display:block; padding:1.25rem; }
.dgl-post__body h2, .dgl-post__body h3{ font-family:var(--dgl-font); font-weight:900; color:#fff;
  line-height:1.25; margin:0 0 .5rem; transition:color .3s; }
.dgl-post__body h3{ font-size:1.125rem; }
.dgl-post:hover .dgl-post__body h2, .dgl-post:hover .dgl-post__body h3{ color:rgb(var(--brand-hot)); }
.dgl-post__body p{ font-size:.875rem; line-height:1.65; color:rgba(255,255,255,.65); margin:0 0 1rem;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.dgl-post__foot{ display:flex; align-items:center; justify-content:space-between;
  font-size:.75rem; color:rgba(255,255,255,.5); }
.dgl-post__foot i, .dgl-post__meta i{ display:inline-flex; align-items:center; gap:.25rem; font-style:normal; }
.dgl-post__foot svg, .dgl-post__meta svg{ color:rgb(var(--brand-hot)); }
.dgl-post__foot b{ display:inline-flex; align-items:center; gap:.25rem; color:rgb(var(--brand-hot)); font-weight:700; }
/* the featured article spans two columns on desktop */
.dgl-post--lead{ display:grid; grid-template-columns:1fr 1fr; border-radius:1.5rem; margin-bottom:1.5rem; }
@media (max-width:767px) {.dgl-post--lead{ grid-template-columns:1fr; }
}
.dgl-post--lead .dgl-post__media{ height:auto; min-height:220px; padding:1.5rem; }
.dgl-post--lead .dgl-post__cat{ padding:.375rem 1rem; font-weight:900; }
.dgl-post--lead .dgl-post__body{ display:flex; flex-direction:column; justify-content:center;
  padding:1.75rem; }
@media (min-width:768px) {.dgl-post--lead .dgl-post__body{ padding:2.5rem; }
}
.dgl-post--lead .dgl-post__body h2{ font-size:1.5rem; }
@media (min-width:768px) {.dgl-post--lead .dgl-post__body h2{ font-size:1.875rem; }
}
.dgl-post--lead .dgl-post__body p{ font-size:1rem; -webkit-line-clamp:none; color:rgba(255,255,255,.7);
  margin-bottom:1.25rem; }
.dgl-post__meta{ display:flex; align-items:center; gap:1rem; font-size:.875rem; color:rgba(255,255,255,.55); }
.dgl-post__go{ display:inline-flex; align-items:center; gap:.375rem; margin-top:1.5rem;
  color:rgb(var(--brand-hot)); font-weight:700; }
.dgl-posts__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
@media (max-width:1023px) {.dgl-posts__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:639px)  {.dgl-posts__grid{ grid-template-columns:1fr; }
}
/* ---------- service cubes (overview page) ---------- */
.dgl-cubes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
@media (max-width:1023px) {.dgl-cubes{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:639px)  {.dgl-cubes{ grid-template-columns:1fr; }
}
.dgl-cube{ display:block; border-radius:1rem; overflow:hidden; height:100%;
  text-decoration:none; color:inherit; transition:transform .3s; }
.dgl-cube:hover{ transform:translateY(-4px); }
.dgl-cube__band{ position:relative; display:flex; align-items:center; justify-content:space-between;
  height:5rem; padding:0 1.25rem; overflow:hidden; }
.dgl-cube__band img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dgl-cube__veil{ position:absolute; inset:0; background:linear-gradient(135deg,rgba(0,0,0,.4),rgba(0,0,0,.1)); }
.dgl-cube__chip{ position:relative; width:2.75rem; height:2.75rem; border-radius:.75rem;
  display:flex; align-items:center; justify-content:center; color:#fff;
  background:rgba(255,255,255,.2); backdrop-filter:blur(8px); }
.dgl-cube__n{ position:relative; font-family:var(--dgl-font); font-size:1.5rem; font-weight:900;
  color:rgba(255,255,255,.4); }
.dgl-cube__body{ display:block; padding:1.25rem; }
.dgl-cube__body i{ display:block; font-style:normal; font-size:.75rem; letter-spacing:.1em;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:rgb(var(--brand-hot)); margin-bottom:.25rem; }
.dgl-cube__body h2{ font-family:var(--dgl-font); font-size:1.125rem; font-weight:900; color:#fff;
  margin:0 0 .5rem; transition:color .3s; }
.dgl-cube:hover .dgl-cube__body h2{ color:rgb(var(--brand-hot)); }
.dgl-cube__body p{ font-size:.875rem; line-height:1.65; color:rgba(255,255,255,.65); margin:0 0 1rem; }
.dgl-cube__go{ display:flex; justify-content:flex-start; padding-top:.75rem;
  border-top:1px solid rgba(255,255,255,.1); }
.dgl-cube__go b{ display:inline-flex; align-items:center; gap:.25rem; font-size:.875rem;
  font-weight:700; color:rgb(var(--brand-hot)); }
.dgl-cube__cta{ border-radius:1rem; padding:1.5rem; display:flex; flex-direction:column;
  justify-content:center; text-align:center; }
.dgl-cube__cta h2{ font-family:var(--dgl-font); font-size:1.125rem; font-weight:900; color:#fff; margin:0 0 .5rem; }
.dgl-cube__cta p{ font-size:.875rem; color:rgba(255,255,255,.75); margin:0 0 1rem; }
.dgl-cube__cta .dgl-btn{ align-self:center; }
/* ---------- article header, share bar, related ---------- */
.dgl-arthead{ max-width:48rem; margin-inline:auto; position:relative; }
/* the glow is decorative: keep it inside the column so it can't widen the page
   (inset-inline-start flips in RTL and pushed it past the left edge) */
.dgl-arthead{ overflow-x:clip; }
.dgl-arthead__blob{ position:absolute; top:-8rem; left:50%; right:auto;
  transform:translateX(-50%); width:min(80vmin,100%); max-width:100%;
  height:60vmin; border-radius:999px; pointer-events:none; z-index:-1; opacity:.3;
  filter:blur(150px); background:linear-gradient(135deg,rgb(var(--brand-hot)),#7C3AED); }
.dgl-crumbs--start{ justify-content:flex-start; }
.dgl-arthead__pill{ display:inline-block; border-radius:999px; padding:.375rem 1rem; margin-bottom:1.25rem;
  font-size:.75rem; font-weight:900; color:#fff;
  background:linear-gradient(135deg,rgb(var(--brand-hot)),#7C3AED); }
.dgl-arthead__lead{ font-size:1.125rem; line-height:1.75; color:rgba(255,255,255,.75); margin:0 0 1.5rem; }
.dgl-arthead__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.1); font-size:.875rem; color:rgba(255,255,255,.55); }
.dgl-arthead__meta span{ display:inline-flex; align-items:center; gap:.5rem; }
.dgl-arthead__meta svg{ color:rgb(var(--brand-hot)); }
.dgl-arthead__av{ display:inline-flex; align-items:center; justify-content:center; font-style:normal;
  width:2rem; height:2rem; border-radius:999px; font-size:.75rem; font-weight:900; color:#fff;
  background:linear-gradient(135deg,rgb(var(--brand-hot)),#7C3AED); }
.dgl-share{ display:flex; flex-wrap:wrap; align-items:center; gap:.75rem;
  max-width:48rem; margin:2.5rem auto 0; }
.dgl-share__label{ font-size:.875rem; font-weight:700; color:rgba(255,255,255,.55); }
.dgl-share__btn{ width:2.75rem; height:2.75rem; border-radius:999px; display:inline-flex;
  align-items:center; justify-content:center; cursor:pointer; transition:transform .3s; }
.dgl-share__btn:hover{ transform:translateY(-2px); }
.dgl-share__copy{ color:rgba(255,255,255,.8); }
.dgl-share__done{ font-size:.75rem; color:#4ADE80; }
.dgl-related{ border-top:1px solid rgba(255,255,255,.1); }
.dgl-related__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
@media (max-width:767px) {.dgl-related__grid{ grid-template-columns:1fr; }
}
.dgl-post__media--sm{ height:8rem; }
.dgl-related__all{ text-align:center; margin-top:2.5rem; }
/* ---------- legal documents ---------- */
.dgl-legal{ padding-block:9rem 6rem; position:relative; }
.dgl-legal__head{ margin-bottom:3rem; }
@media (min-width:768px) {.dgl-legal__head{ margin-bottom:4rem; }
}
.dgl-legal__kick{ display:inline-block; font-size:.75rem; font-weight:900; letter-spacing:.25em;
  color:rgb(var(--brand-hot)); margin-bottom:1rem; }
.dgl-legal__title{ font-family:var(--dgl-font); font-weight:900; line-height:1.1; margin:0 0 1rem;
  font-size:clamp(2rem,5vw,3.25rem);
  background:linear-gradient(120deg,#fff,rgb(var(--brand-hot)));
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.dgl-legal__intro{ color:rgba(255,255,255,.7); max-width:42rem; margin:0; }
.dgl-legal__updated{ font-size:.75rem; color:rgba(255,255,255,.4); margin:1.25rem 0 0; }
.dgl-legal__sections{ display:flex; flex-direction:column; gap:2.5rem; }
.dgl-legal__sections h2{ display:flex; align-items:baseline; gap:.75rem; font-family:var(--dgl-font);
  font-weight:900; font-size:1.5rem; color:#fff; margin:0 0 1rem; scroll-margin-top:7rem; }
@media (min-width:768px) {.dgl-legal__sections h2{ font-size:1.875rem; }
}
.dgl-legal__n{ flex:0 0 auto; font-size:1rem; font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  color:rgba(231,15,87,.5); }
.dgl-legal__body{ border-inline-start:2px solid rgba(231,15,87,.2); padding-inline-start:1.25rem;
  color:rgba(255,255,255,.75); line-height:1.75; }
.dgl-legal__body > * + *{ margin-top:1rem; }
.dgl-legal__body ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.dgl-legal__body li{ position:relative; padding-inline-start:1.25rem; }
.dgl-legal__body li::before{ content:""; position:absolute; inset-inline-start:0; top:.7em;
  width:.375rem; height:.375rem; border-radius:999px; background:rgb(var(--brand-hot)); }
.dgl-legal__body a{ color:rgb(var(--brand-hot)); }
.dgl-legal__back{ margin-top:4rem; padding-top:2rem; border-top:1px solid rgba(255,255,255,.1); }
.dgl-legal__back a{ display:inline-flex; align-items:center; gap:.5rem; font-weight:700;
  color:rgb(var(--brand-hot)); text-decoration:none; transition:gap .3s; }
.dgl-legal__back a:hover{ gap:.75rem; }
/* ---------- article body ---------- */
/* The single-post template is start-aligned in the original; Elementor's page
   defaults centre everything, so pin the article column down explicitly. */
html body.single-post .elementor[data-elementor-type="single-post"] .elementor-widget-theme-post-title, html body.single-post .elementor[data-elementor-type="single-post"] .elementor-widget-theme-post-content, html body.single-post .dgl-arthead{ text-align:start; }
html body.single-post .elementor-widget-theme-post-title h1{ font-size:60px; line-height:1.12;
  margin:0 0 1.25rem; }
@media (max-width:1023px) { body.single-post .elementor-widget-theme-post-title h1{ font-size:42px; } }
@media (max-width:767px)  { body.single-post .elementor-widget-theme-post-title h1{ font-size:32px; } }
html body.single-post .elementor-widget-theme-post-title, html body.single-post .elementor-widget-theme-post-content, html body.single-post .elementor-widget-theme-post-featured-image{ max-width:48rem; margin-inline:auto; }
.elementor-widget-theme-post-featured-image img{ border-radius:1rem; border:1px solid rgba(255,255,255,.1);
  aspect-ratio:16/9; object-fit:cover; box-shadow:0 20px 60px rgba(0,0,0,.4); }
.elementor-widget-theme-post-content{
  font-size:1.125rem; line-height:1.85; color:rgba(255,255,255,.82); }
.elementor-widget-theme-post-content .elementor-widget-container > * + *{ margin-top:1.15rem; }
.elementor-widget-theme-post-content h2{ font-family:var(--dgl-font); font-weight:900; font-size:1.7rem;
  color:#fff; margin:2.6rem 0 .4rem; line-height:1.25; }
.elementor-widget-theme-post-content h3{ font-family:var(--dgl-font); font-weight:900; font-size:1.3rem;
  color:#fff; margin:1.9rem 0 .3rem; }
.elementor-widget-theme-post-content strong, .elementor-widget-theme-post-content b{ color:#fff; font-weight:800; }
.elementor-widget-theme-post-content a{ color:rgb(var(--brand-hot)); font-weight:700;
  text-decoration:underline; text-underline-offset:3px; }
.elementor-widget-theme-post-content a:hover{ opacity:.85; }
.elementor-widget-theme-post-content ol{ list-style:decimal; padding-inline-start:1.25rem; margin:1rem 0; }
.elementor-widget-theme-post-content ol > li{ margin:.55rem 0; padding-inline-start:.3rem; }
.elementor-widget-theme-post-content ul{ list-style:none; padding-inline-start:0; margin:1rem 0; }
.elementor-widget-theme-post-content ul > li{ position:relative; padding-inline-start:1.4rem; margin:.55rem 0; }
.elementor-widget-theme-post-content ul > li::before{ content:""; position:absolute; inset-inline-start:0;
  top:.7em; width:8px; height:8px; border-radius:999px; background:rgb(var(--brand-hot)); }
.elementor-widget-theme-post-content blockquote{ border-inline-start:4px solid rgb(var(--brand-hot));
  padding:1rem 1.4rem; margin:1.8rem 0; background:rgba(231,15,87,.08);
  border-radius:0 1rem 1rem 0; font-size:1.25rem; font-weight:500; color:#fff; }
.elementor-widget-theme-post-content img{ max-width:100%; height:auto; border-radius:1rem;
  margin:1.6rem 0; border:1px solid rgba(255,255,255,.1); }
/* the article footer CTA is a plain glass card, not a full-bleed section */
.dgl-cta--card{ padding-block:0; }
.dgl-cta--card > .dgl-wrap{ max-width:48rem; border-radius:1.5rem; padding:2rem; text-align:center;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(16px); }
.dgl-cta--card .dgl-h2{ font-size:1.5rem; margin:0 0 .75rem; }
@media (min-width:768px) {.dgl-cta--card .dgl-h2{ font-size:1.875rem; }
}
.dgl-cta--card .dgl-lead{ margin-bottom:1.5rem; }

html body .dgl-a-sec > .e-con-inner, html body .dgl-a-sec.e-con-full{ position:relative; z-index:1; }
/* -- kicker / badge / heading, as heading widgets -- */
html body .dgl-w-rule .elementor-heading-title{ display:flex; align-items:center; justify-content:center; gap:.75rem;
  font-family:var(--dgl-mono); font-size:.8rem; letter-spacing:.18em; text-transform:uppercase;
  color:rgb(var(--brand-hot)); font-weight:400; }
html body .dgl-w-rule .elementor-heading-title::before, html body .dgl-w-rule .elementor-heading-title::after{ content:""; width:2.5rem; height:1px;
  background:rgb(var(--brand-hot)); flex:0 0 auto; }
html body .dgl-w-rule--start .elementor-heading-title{ justify-content:flex-start; }
html body .dgl-w-rule--start .elementor-heading-title::after{ display:none; }
html body .dgl-w-badge .elementor-heading-title{ display:inline-flex; align-items:center; gap:.5rem;
  border-radius:999px; padding:.5rem 1rem; font-size:.8rem; font-weight:700; color:#fff;
  border:1px solid rgba(255,255,255,.12);
  background-image:linear-gradient(135deg,rgba(231,15,87,.15),rgba(33,23,93,.35)); }
html body .dgl-w-h2 .elementor-heading-title{ font-family:var(--dgl-font); font-weight:900; letter-spacing:0;
  line-height:1.1; color:#fff; font-size:clamp(2.2rem,5.5vw,4.4rem); }
html body .dgl-w-h2--out .elementor-heading-title{ color:transparent;
  -webkit-text-stroke:2px rgb(var(--brand-hot)); }
html body .dgl-w-lead{ font-size:1.0625rem; line-height:1.8; color:rgba(255,255,255,.7); }
/* -- accordion (classic and nested) as the FAQ -- */
html body .dgl-a-faq .elementor-accordion, html body .dgl-a-faq .e-n-accordion{ display:flex; flex-direction:column; gap:.75rem; }
html body .dgl-a-faq .elementor-accordion-item, html body .dgl-a-faq .e-n-accordion-item{ border-radius:1rem; overflow:hidden; border:1px solid rgba(255,255,255,.1);
  background:rgba(33,23,93,.28); backdrop-filter:blur(16px); transition:border-color .3s; }
html body .dgl-a-faq .elementor-accordion-item:has(.elementor-active), html body .dgl-a-faq .e-n-accordion-item[open]{ border-color:rgba(231,15,87,.4); }
html body .dgl-a-faq .elementor-tab-title, html body .dgl-a-faq .e-n-accordion-item-title{ display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:1.25rem 1.5rem; cursor:pointer; border:0; background:none;
  font-family:var(--dgl-font); font-weight:900; font-size:1.0625rem; color:#fff; text-align:start;
  transition:color .3s; list-style:none; }
html body .dgl-a-faq .e-n-accordion-item-title::-webkit-details-marker{ display:none; }
html body .dgl-a-faq .elementor-tab-title:hover, html body .dgl-a-faq .e-n-accordion-item-title:hover{ color:rgb(var(--brand-hot)); }
html body .dgl-a-faq .elementor-accordion-title, html body .dgl-a-faq .e-n-accordion-item-title-text{ flex:1; font: inherit; color:inherit; text-decoration:none; }
html body .dgl-a-faq .elementor-accordion-icon, html body .dgl-a-faq .e-n-accordion-item-title-icon{ color:rgb(var(--brand-hot)); flex:0 0 auto; }
html body .dgl-a-faq .elementor-tab-content, html body .dgl-a-faq .e-n-accordion-item > :not(summary){ padding:0 1.5rem 1.35rem; border:0;
  color:rgba(255,255,255,.7); line-height:1.8; font-size:.95rem; }
/* -- text-editor and button widgets carrying brand styles -- */
html body .dgl-w-btn .elementor-button{ display:inline-flex; align-items:center; gap:.5rem; border-radius:999px;
  padding:.95rem 2.1rem; font-family:var(--dgl-font); font-weight:700; font-size:1rem;
  border:0; transition:transform .3s,box-shadow .3s; }
html body .dgl-w-btn .elementor-button:hover{ transform:translateY(-2px); }
html body .dgl-w-btn--primary .elementor-button{ color:#fff;
  background-image:linear-gradient(135deg,rgb(var(--brand-hot)),#E11D48);
  box-shadow:0 14px 34px rgba(231,15,87,.35); }
html body .dgl-w-btn--ghost .elementor-button{ color:#fff; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16); }
/* -- icon-box widgets used as the glass cards across the page -- */
html body .dgl-w-card{ height:100%; border-radius:1.25rem; padding:1.5rem;
  background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(16px);
  transition:transform .4s,border-color .4s,box-shadow .4s; }
html body .dgl-w-card:hover{ transform:translateY(-4px);
  border-color:rgba(231,15,87,.35); box-shadow:0 24px 60px rgba(231,15,87,.18); }
html body .dgl-w-card .elementor-icon-box-icon{ margin-bottom:.9rem; }
html body .dgl-w-card .elementor-icon{ width:2.75rem; height:2.75rem; border-radius:.9rem; display:flex;
  align-items:center; justify-content:center; color:#fff;
  background-image:linear-gradient(135deg,rgb(var(--brand-hot)),#7C3AED); }
html body .dgl-w-card .elementor-icon-box-title{ font-family:var(--dgl-font); font-weight:900; font-size:1.0625rem;
  color:#fff; margin:0 0 .35rem; }
html body .dgl-w-card .elementor-icon-box-description{ font-size:.9rem; line-height:1.7;
  color:rgba(255,255,255,.65); margin:0; }
/* the contact cards under the closing CTA sit in one row, icon beside the text */
html body .dgl-w-contact .elementor-icon-box-wrapper{ display:flex; align-items:center; gap:.9rem; text-align:start; }
html body .dgl-w-contact .elementor-icon-box-icon{ margin:0; flex:0 0 auto; }
html body .dgl-w-contact .elementor-icon-box-title{ font-size:.75rem; font-weight:400;
  color:rgba(255,255,255,.55); margin:0; font-family:inherit; }
html body .dgl-w-contact .elementor-icon-box-description{ color:#fff; font-weight:700; font-size:.95rem;
  overflow-wrap:anywhere; }
/* -- the big pink gradient word in the closing headline -- */
html body .dgl-w-h2--hot .elementor-heading-title{ background-image:linear-gradient(120deg,rgb(var(--brand-hot)),#A855F7);
  -webkit-background-clip:text; background-clip:text; color:transparent; }
/* -- soft accent blob, dropped in as a spacer with a class -- */
html body .dgl-a-blob{ position:absolute; inset-inline:0; top:50%; transform:translateY(-50%);
  pointer-events:none; z-index:0; height:0; }
html body .dgl-a-blob::before{ content:""; position:absolute; inset-inline-start:50%; top:0;
  transform:translate(-50%,-50%); width:60vmin; height:60vmin; border-radius:999px;
  background:rgba(231,15,87,.2); filter:blur(160px); }


html body .dgl-a-svc-card{ position:relative; overflow:hidden; border-radius:1rem; padding:1.5rem; height:100%;
  background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(16px);
  transition:transform .5s,border-color .5s,box-shadow .5s; }
html body .dgl-a-svc-card:hover{ transform:translateY(-4px); border-color:rgba(231,15,87,.35);
  box-shadow:0 24px 60px rgba(231,15,87,.18); }
html body .dgl-a-svc-card::before{ content:""; position:absolute; top:-3rem; inset-inline-end:-3rem;
  width:8rem; height:8rem; border-radius:50%; opacity:.25; filter:blur(28px);
  transition:opacity .5s,transform .5s; background:var(--dgl-card-grad,linear-gradient(135deg,#E70F57,#7C3AED)); }
html body .dgl-a-svc-card:hover::before{ opacity:.5; transform:scale(1.5); }
html body .dgl-a-svc-card > .e-con-inner, html body .dgl-a-svc-card.e-con-full{ position:relative; z-index:1; height:100%; }
html body .dgl-a-svc-top > .e-con-inner, html body .dgl-a-svc-top.e-con-full{ display:flex; align-items:flex-start; justify-content:space-between; }
html body .dgl-w-svc-icon .elementor-icon{ width:3rem; height:3rem; border-radius:.9rem; display:flex;
  align-items:center; justify-content:center; color:#fff; transition:transform .5s;
  background:var(--dgl-card-grad,linear-gradient(135deg,#E70F57,#7C3AED)); }
html body .dgl-a-svc-card:hover .dgl-w-svc-icon .elementor-icon{ transform:scale(1.1) rotate(6deg); }
html body .dgl-w-svc-n .elementor-heading-title{ color:#fff;
  -webkit-text-stroke:1.5px rgba(255,255,255,.7); font-family:var(--dgl-font); font-size:1.875rem; font-weight:900;
  line-height:1; transition:color .4s; }
html body .dgl-w-svc-tag .elementor-heading-title{ font-family:var(--dgl-mono); font-size:.625rem;
  letter-spacing:.15em; color:rgb(var(--brand-hot)); font-weight:400; }
html body .dgl-w-svc-title .elementor-heading-title{ font-family:var(--dgl-font); font-size:1.125rem;
  font-weight:900; color:#fff; line-height:1.25; }
html body .dgl-w-svc-desc{ font-size:.875rem; line-height:1.65;
  color:rgba(255,255,255,.65); transition:color .5s; }
html body .dgl-a-svc-card:hover .dgl-w-svc-desc{ color:rgba(255,255,255,.85); }
html body .dgl-w-svc-more{ margin-top:auto; }
html body .dgl-w-svc-more .elementor-button{ width:100%; justify-content:space-between; padding:.75rem 0 0;
  margin-top:.25rem; border-top:1px solid rgba(255,255,255,.1); border-radius:0; background:none;
  font-size:.8rem; font-weight:700; color:rgba(255,255,255,.7); transition:color .4s,border-color .4s; }
html body .dgl-a-svc-card:hover .dgl-w-svc-more .elementor-button{ color:rgb(var(--brand-hot));
  border-color:rgba(231,15,87,.4); }
html body .dgl-w-svc-more .elementor-button:hover{ transform:none; }
/* per-card accent gradients, keyed off the card's own attribute */
html body .dgl-grad-1{ --dgl-card-grad:linear-gradient(135deg,#E70F57,#BE123C); }
html body .dgl-grad-2{ --dgl-card-grad:linear-gradient(135deg,#7C3AED,#4C1D95); }
html body .dgl-grad-3{ --dgl-card-grad:linear-gradient(135deg,#F59E0B,#E70F57); }
html body .dgl-grad-4{ --dgl-card-grad:linear-gradient(135deg,#06B6D4,#3B82F6); }
html body .dgl-grad-5{ --dgl-card-grad:linear-gradient(135deg,#D946EF,#7C3AED); }
html body .dgl-grad-6{ --dgl-card-grad:linear-gradient(135deg,#22C55E,#0891B2); }
html body /* stacked, html body centred section headers */
html body .dgl-a-head > .e-con-inner, html body .dgl-a-head.e-con-full{ align-items:center; text-align:center; }

/* -- manifesto, about, process and testimonials in native widgets -- */
html body .dgl-a-manifesto{ text-align:center; }
html body .dgl-a-manifesto .dgl-w-mani .elementor-heading-title{ font-family:var(--dgl-font);
  font-weight:900; line-height:1.15; font-size:clamp(1.9rem,4.6vw,3.4rem); color:#fff; }
html body .dgl-a-manifesto .dgl-w-mani--out .elementor-heading-title{ color:transparent;
  -webkit-text-stroke:2px rgb(var(--brand-hot)); }
html body .dgl-w-sign{ font-family:var(--dgl-mono); font-size:.8rem;
  letter-spacing:.18em; color:rgba(255,255,255,.45); }
html body .dgl-w-portrait img{ border-radius:1.5rem; border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 80px rgba(231,15,87,.25); }

html body .dgl-a-step{ border-radius:1.5rem; padding:2rem; height:100%;
  background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(16px);
  transition:transform .5s; }
html body .dgl-a-step:hover{ transform:translateY(-6px); }
html body .dgl-a-step-top > .e-con-inner, html body .dgl-a-step-top.e-con-full{ display:flex; align-items:flex-start;
  justify-content:space-between; }
html body .dgl-w-step-n .elementor-heading-title{ color:#fff;
  -webkit-text-stroke:1.5px rgba(255,255,255,.7); font-family:var(--dgl-font); font-size:3.75rem; font-weight:900;
  line-height:1; }
html body .dgl-w-step-icon .elementor-icon{ width:3.5rem; height:3.5rem; border-radius:1rem; display:flex;
  align-items:center; justify-content:center; color:#fff;
  background-image:linear-gradient(135deg,rgb(var(--brand-hot)),#7C3AED);
  box-shadow:0 0 30px rgba(231,15,87,.35); }
html body .dgl-w-step-title .elementor-heading-title{ font-family:var(--dgl-font); font-size:1.5rem;
  font-weight:900; color:#fff; }
html body .dgl-w-step-desc{ color:rgba(255,255,255,.65); line-height:1.7; }
/* Pro testimonial carousel wearing the brand card */
html body .dgl-a-quotes .elementor-testimonial{ border-radius:1.25rem; padding:1.75rem; height:100%;
  background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(16px);
  text-align:start; }
html body .dgl-a-quotes .elementor-testimonial__text{ font-size:1rem; line-height:1.8;
  color:rgba(255,255,255,.85); }
html body .dgl-a-quotes .elementor-testimonial__name{ font-family:var(--dgl-font); font-weight:900; color:#fff; }
html body .dgl-a-quotes .elementor-testimonial__title{ font-size:.8rem; color:rgb(var(--brand-hot)); }
html body .dgl-a-quotes .swiper-pagination-bullet{ background:rgba(255,255,255,.3); opacity:1; }
html body .dgl-a-quotes .swiper-pagination-bullet-active{ background:rgb(var(--brand-hot)); width:1.5rem;
  border-radius:999px; }
html body .dgl-a-quotes .elementor-swiper-button{ color:rgb(var(--brand-hot)); }
/* -- hero, assembled from stock widgets; rings and glow are drawn by the
      section itself since Elementor has no widget for pure decoration -- */
html body .dgl-a-hero{ min-height:92svh; justify-content:center; padding:8rem 1.5rem 4rem;
  overflow:hidden; text-align:center; position:relative; }
html body .dgl-a-hero::before, .dgl-a-hero::after{ content:""; position:absolute;
  inset-inline-start:50%; top:50%; transform:translate(50%,-50%); pointer-events:none; z-index:0; }
/* the decorative ring behind the hero was removed at the owner's request */
html body .dgl-a-hero::after{ width:min(70vmin,560px); height:min(70vmin,560px);
  align-self:center; flex:0 0 auto; border-radius:50%;
  background:radial-gradient(circle,rgba(231,15,87,.22),transparent 65%); filter:blur(60px); }
html body .dgl-a-hero > .e-con-inner, html body .dgl-a-hero.e-con-full{ position:relative; z-index:10; align-items:center; }
html body .dgl-w-hero-line .elementor-heading-title{ font-family:var(--dgl-font); font-weight:900;
  line-height:.95; letter-spacing:0; font-size:clamp(2.25rem,8vw,5.5rem); color:#fff; }
html body .dgl-w-hero-line--out .elementor-heading-title{ color:transparent;
  -webkit-text-stroke:2px rgb(var(--brand-hot)); }
html body .dgl-w-rot .elementor-headline{ font-family:var(--dgl-font); font-weight:900;
  font-size:clamp(1.125rem,3.6vw,2.25rem); color:rgba(255,255,255,.85); }
html body .dgl-w-rot .elementor-headline-dynamic-wrapper, html body .dgl-w-rot .elementor-headline-dynamic-text{ color:rgb(var(--brand-hot)); }
html body .dgl-w-hero-lead{ max-width:42rem; margin-inline:auto;
  font-size:.95rem; color:rgba(255,255,255,.65); font-weight:300; }
html body .dgl-a-hero-ctas > .e-con-inner, html body .dgl-a-hero-ctas.e-con-full{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }
html body .dgl-a-metrics > .e-con-inner, html body .dgl-a-metrics.e-con-full{ display:flex; flex-wrap:wrap; gap:2.5rem; justify-content:center; }
html body .dgl-w-metric .elementor-counter-number-wrapper{ font-family:var(--dgl-font); font-weight:900;
  font-size:2rem; color:#fff; justify-content:center; }
html body .dgl-w-metric .elementor-counter-title{ font-size:.8rem; color:rgba(255,255,255,.55);
  font-weight:400; margin-top:.25rem; }
html body .dgl-w-ufo{ position:absolute; inset-inline-start:26%; top:6%; z-index:3; pointer-events:none;
  width:clamp(70px,9vw,130px); animation:dgl-float 7s ease-in-out infinite; }
@media (max-width:767px) {.dgl-w-ufo{ display:none; }
}
html body .dgl-w-scroll .elementor-heading-title{ font-family:var(--dgl-mono); font-size:.7rem;
  letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.45); font-weight:400; }
@keyframes dgl-float {
0%,100% { transform:translateY(0); }
50% { transform:translateY(-14px); }
}
/* -- portfolio: stock image/heading widgets behind a small filter widget -- */
.dgl-filterbar{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2rem; }





html body .dgl-a-work-card{ position:relative; border-radius:1rem; overflow:hidden;
  border:1px solid rgba(255,255,255,.1); transition:transform .5s,box-shadow .5s,border-color .5s; }
html body .dgl-a-work-card:hover{ transform:translateY(-4px); border-color:rgba(231,15,87,.45);
  box-shadow:0 25px 60px rgba(231,15,87,.25); }
html body .dgl-a-work-card > .e-con-inner, html body .dgl-a-work-card.e-con-full{ gap:0; }
html body .dgl-w-work-img img{ display:block; width:100%; height:100%; object-fit:cover; }
html body .dgl-w-work-tag .elementor-heading-title{ display:inline-flex; border-radius:999px; padding:.25rem .7rem;
  font-family:var(--dgl-mono); font-size:.65rem; letter-spacing:.1em; color:#fff; font-weight:400;
  background:rgba(0,0,0,.45); backdrop-filter:blur(8px); }
html body .dgl-w-work-title .elementor-heading-title{ font-family:var(--dgl-font); font-size:1rem;
  font-weight:900; color:#fff; transition:color .3s; }
html body .dgl-a-work-card:hover .dgl-w-work-title .elementor-heading-title{ color:rgb(var(--brand-hot)); }
html body .dgl-w-work-type{ font-size:.75rem; color:rgba(255,255,255,.55); }
html body .dgl-a-war-carousel .elementor-main-swiper{ border-radius:1.25rem; overflow:hidden;
  border:1px solid rgba(255,255,255,.12); box-shadow:0 30px 80px rgba(0,0,0,.45); }
html body .dgl-a-war-carousel .swiper-pagination-bullet{ background:rgba(255,255,255,.35); opacity:1; }
html body .dgl-a-war-carousel .swiper-pagination-bullet-active{ background:rgb(var(--brand-hot));
  width:1.5rem; border-radius:999px; }
html body .dgl-a-war-block{ border-radius:1.25rem; padding:1.5rem; }
html body .dgl-a-war-block.dgl-tone-hot{ background:linear-gradient(135deg,rgba(231,15,87,.18),rgba(124,58,237,.14));
  border:1px solid rgba(231,15,87,.35); }
html body .dgl-a-war-block.dgl-tone-cool{ background:rgba(33,23,93,.28);
  border:1px solid rgba(255,255,255,.1); }
html body .dgl-w-war-btitle .elementor-heading-title{ font-family:var(--dgl-mono); font-size:.7rem;
  letter-spacing:.18em; color:rgb(var(--brand-hot)); font-weight:400; }
html body .dgl-w-war-l1 .elementor-heading-title{ font-family:var(--dgl-font); font-size:1.25rem;
  font-weight:900; color:#fff; }
html body .dgl-w-war-l2{ font-size:.85rem; color:rgba(255,255,255,.65); }
html body .dgl-w-war-quote{ border-inline-start:2px solid rgb(var(--brand-hot));
  padding-inline-start:1.25rem; font-size:1.125rem; line-height:1.8; color:rgba(255,255,255,.85);
  font-style:italic; }
html body .dgl-w-war-story{ color:rgba(255,255,255,.7); line-height:1.8; }
html body .dgl-a-war-stats > .e-con-inner, html body .dgl-a-war-stats.e-con-full{ display:flex; flex-wrap:wrap; gap:2rem; }
html body .dgl-w-war-stat .elementor-counter-number-wrapper{ font-family:var(--dgl-font); font-weight:900;
  font-size:1.75rem; color:rgb(var(--brand-hot)); justify-content:flex-start; }
html body .dgl-w-war-stat .elementor-counter-title{ font-size:.75rem; color:rgba(255,255,255,.55);
  font-weight:400; text-align:start; }
html body .dgl-a-tail > .e-con-inner, html body .dgl-a-tail.e-con-full{ align-items:center; margin-top:1.5rem; }
/* The floating hero dashboards anchor to the hero itself; Elementor gives every
   widget wrapper a position, which would otherwise pin them to their own slot. */
html body .elementor-widget-dgl-dashboards{ position:static; height:0; margin:0; }
html body .dgl-a-hero{ justify-content:center; }
/* ============================================================
   Service pages, assembled from stock Elementor widgets
   ============================================================ */
html body .dgl-a-pagehero{ text-align:center; position:relative; overflow:hidden; }
html body .dgl-a-pagehero > .e-con-inner, html body .dgl-a-pagehero.e-con-full{ align-items:center; }
html body .dgl-w-crumbs a{ color:rgba(255,255,255,.6); text-decoration:none; }
html body .dgl-w-crumbs a:hover{ color:rgb(var(--brand-hot)); }
html body .dgl-w-pshot img{ position:absolute; inset-inline-end:6%; top:22%; width:230px;
  border-radius:1rem; border:1px solid rgba(255,255,255,.15);
  box-shadow:0 30px 80px rgba(231,15,87,.35); }
@media (max-width:1279px) {html body .dgl-w-pshot{ display:none; }
}
html body .dgl-w-pills .elementor-icon-list-items{ justify-content:center; gap:.5rem; }
html body .dgl-w-pills .elementor-icon-list-item{ border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.05); border-radius:999px; padding:.35rem 1rem; font-size:.8rem; }
html body .dgl-w-pills .elementor-icon-list-icon{ display:none; }
/* why card */
html body .dgl-a-why-card{ border-radius:2rem; padding:2rem; text-align:center;
  background:linear-gradient(135deg,rgba(231,15,87,.18),rgba(124,58,237,.14));
  border:1px solid rgba(231,15,87,.35); backdrop-filter:blur(16px); }
html body .dgl-a-why-card > .e-con-inner, html body .dgl-a-why-card.e-con-full{ align-items:center; }
html body .dgl-w-why-icon .elementor-icon{ color:rgb(var(--brand-hot)); }
html body .dgl-w-why-body{ max-width:46rem; }
html body .dgl-a-inc-card{ position:relative; border-radius:1rem; padding:1.4rem 1.5rem;
  background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(16px);
  transition:transform .4s,border-color .4s; }
html body .dgl-a-inc-card:hover{ transform:translateY(-3px); border-color:rgba(231,15,87,.35); }
html body .dgl-a-inc-card::before{ content:""; position:absolute; inset-block:0;
  inset-inline-start:0; width:3px; background:rgb(var(--brand-hot)); border-radius:0 3px 3px 0; }
html body .dgl-a-inc-card > .e-con-inner, html body .dgl-a-inc-card.e-con-full{ flex-direction:row-reverse; align-items:flex-start;
  justify-content:space-between; gap:1rem; }
html body .dgl-w-inc-n .elementor-heading-title{ color:#fff;
  -webkit-text-stroke:1.5px rgba(255,255,255,.7); }
html body .dgl-w-badges .elementor-icon-list-items{ justify-content:center; }
html body .dgl-a-badges > .e-con-inner, html body .dgl-a-badges.e-con-full{ align-items:center; }
html body /* tools strip */
html body .dgl-a-tools-grid > .e-con-inner, html body .dgl-a-tools-grid.e-con-full{ display:flex; flex-wrap:wrap; gap:.75rem;
  justify-content:center; }



html body .dgl-a-cross-card{ border-radius:1rem; padding:1.4rem; aspect-ratio:3/4;
  background:var(--dgl-card-grad,linear-gradient(135deg,#E70F57,#7C3AED));
  transition:transform .5s,box-shadow .5s; }
html body .dgl-a-cross-card:hover{ transform:translateY(-6px);
  box-shadow:0 30px 70px rgba(231,15,87,.35); }
html body .dgl-a-cross-card > .e-con-inner, html body .dgl-a-cross-card.e-con-full{ height:100%; }
html body .dgl-w-cross-g{ margin-top:auto; }
html body .dgl-w-cross-b .elementor-button{ width:100%; justify-content:center; }
html body .dgl-w-price .elementor-price-table{ height:100%; border-radius:1.25rem; overflow:hidden;
  background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(16px); }
html body .dgl-w-price--hot .elementor-price-table{ background:linear-gradient(135deg,#E70F57,#7C3AED);
  border-color:rgba(231,15,87,.6); box-shadow:0 30px 80px rgba(231,15,87,.35); }
html body .dgl-w-price .elementor-price-table__heading{ font-family:var(--dgl-font); font-weight:900;
  font-size:1.25rem; color:#fff; }
html body .dgl-w-price .elementor-price-table__subheading{ color:rgba(255,255,255,.65); font-size:.85rem; }
html body .dgl-w-price .elementor-price-table__price{ color:#fff; font-family:var(--dgl-font); font-weight:900; }
html body .dgl-w-price .elementor-price-table__period{ color:rgba(255,255,255,.55); font-size:.75rem; }
html body .dgl-w-price .elementor-price-table__features-list li{ color:rgba(255,255,255,.8);
  font-size:.875rem; border:0; }
html body .dgl-w-price .elementor-price-table__ribbon-inner{ background:#fff; color:#0B0125;
  font-weight:900; font-size:.7rem; }
html body .dgl-w-price .elementor-price-table__button{ border-radius:999px; font-weight:700;
  background:rgb(var(--brand-hot)); color:#fff; }
html body .dgl-w-price--hot .elementor-price-table__button{ background:#fff; color:#0B0125; }
html body .dgl-a-panel{ border-radius:1rem; padding:1.5rem;
  background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1); }
html body .dgl-w-panel-list .elementor-icon-list-item, html body .dgl-w-notes .elementor-icon-list-item{ font-size:.85rem; }
html body .dgl-a-help{ border-radius:1.25rem; padding:1.5rem; text-align:center;
  background:linear-gradient(135deg,rgba(231,15,87,.18),rgba(124,58,237,.14));
  border:1px solid rgba(231,15,87,.35); }

/* Elementor's price table ships a near-white wrapper and a purple header band;
   the brand card is dark glass with a transparent header. */
html body .elementor-widget-price-table.dgl-w-price{ background:transparent; }
html body .dgl-w-price .elementor-price-table__header{ background:transparent; padding-bottom:0; }
html body .dgl-w-price .elementor-price-table__price{ padding-block:1rem 1.25rem; }
html body .dgl-w-price .elementor-price-table__features-list{ padding:0 1.5rem 1.25rem; }
html body .dgl-w-price .elementor-price-table__features-list li{ padding:.55rem 0;
  border-bottom:1px solid rgba(255,255,255,.08); }
html body .dgl-w-price .elementor-price-table__features-list li:last-child{ border-bottom:0; }
html body .dgl-w-price .elementor-price-table__footer{ padding:0 1.5rem 1.5rem; }
html body .dgl-w-price .elementor-price-table__integer-part, html body .dgl-w-price .elementor-price-table__currency{ font-family:var(--dgl-font); font-weight:900; }
html body .dgl-w-price--hot .elementor-price-table__header{ background:transparent; }
/* ============================================================
   About, process, contact and the legal pages in stock widgets
   ============================================================ */
html body .dgl-a-bio-quote{ border-inline-start:0; border-right:2px solid rgb(var(--brand-hot));
  padding-right:24px; padding-left:0; max-width:768px; margin-inline:auto;
  text-align:start; }
html body .dgl-w-bio-bold{ font-weight:900; }
html body .dgl-w-bio-place .elementor-icon-list-icon{ color:rgb(var(--brand-hot)); }
html body .dgl-a-letter{ position:relative; overflow:hidden; border-radius:2rem; padding:2.5rem;
  background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(16px); }
@media (min-width:768px) {html body .dgl-a-letter{ padding:4rem; }
}
html body .dgl-a-letter::before{ content:"״"; position:absolute; top:1.5rem;
  inset-inline-start:1.5rem; font-family:var(--dgl-font); font-size:3.75rem; line-height:1;
  color:rgba(231,15,87,.2); }
html body .dgl-a-letter > .e-con-inner, html body .dgl-a-letter.e-con-full{ position:relative; z-index:1; }
html body .dgl-w-letter-p.is-bold{ font-weight:900; }
html body .dgl-a-letter-foot{ margin-top:2rem; padding-top:2rem;
  border-top:1px solid rgba(255,255,255,.1); }
html body .dgl-w-letter-sig img{ height:4.5rem; width:auto; filter:brightness(0) invert(1); }
html body .dgl-a-promises-card{ border-radius:2rem; padding:2rem;
  background:linear-gradient(135deg,rgba(231,15,87,.18),rgba(124,58,237,.14));
  border:1px solid rgba(231,15,87,.35); backdrop-filter:blur(16px); }
@media (min-width:768px) {html body .dgl-a-promises-card{ padding:3rem; }
}
html body .dgl-w-promises-h .elementor-heading-title{ text-align:center; }
html body .dgl-w-promises .elementor-icon-list-items{ display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
@media (max-width:639px) {html body .dgl-w-promises .elementor-icon-list-items{ grid-template-columns:1fr; }
}
html body .dgl-w-promises .elementor-icon-list-icon{ width:1.75rem; height:1.75rem; border-radius:.5rem;
  display:flex; align-items:center; justify-content:center;
  background-image:linear-gradient(135deg,rgb(var(--brand-hot)),#7C3AED); }

html body .dgl-w-contact--hot .elementor-icon{ background-image:linear-gradient(135deg,rgb(var(--brand-hot)),#E11D48); }
html body .dgl-w-methods-h .elementor-heading-title{ text-align:center; }
html body .dgl-w-footnote{ text-align:center; }
/* legal documents */
html body .dgl-a-legal{ text-align:start; }
html body .dgl-w-legal-title .elementor-heading-title{ font-size:60px;
  background-image:linear-gradient(120deg,#fff,rgb(var(--brand-hot)));
  -webkit-background-clip:text; background-clip:text; }
html body .dgl-a-legal-item > .e-con-inner, html body .dgl-a-legal-item.e-con-full{ scroll-margin-top:7rem; }
html body .dgl-a-legal-htop > .e-con-inner, html body .dgl-a-legal-htop.e-con-full{ display:flex; flex-direction:row;
  align-items:baseline; justify-content:flex-end; gap:.75rem; }
html body .dgl-w-legal-body{ border-inline-start:2px solid rgba(231,15,87,.2);
  padding-inline-start:1.25rem; }
html body .dgl-w-legal-body ul{ list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:.5rem; }
html body .dgl-w-legal-body li{ position:relative; padding-inline-start:1.25rem; }
html body .dgl-w-legal-body li::before{ content:""; position:absolute; inset-inline-start:0; top:.7em;
  width:.375rem; height:.375rem; border-radius:999px; background:rgb(var(--brand-hot)); }
html body .dgl-a-legal-tail{ margin-top:2rem; padding-top:2rem;
  border-top:1px solid rgba(255,255,255,.1); }
html body .dgl-w-legal-back .elementor-button{ padding:0; font-weight:700; }

html body .dgl-a-cube{ border-radius:1rem; overflow:hidden; height:100%;
  background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(16px);
  transition:transform .3s; }
html body .dgl-a-cube:hover{ transform:translateY(-4px); }
html body .dgl-a-cube-band{ height:5rem; padding:0 1.25rem; justify-content:space-between;
  background:var(--dgl-card-grad,linear-gradient(135deg,#E70F57,#7C3AED)); }
html body .dgl-a-cube-band > .e-con-inner, html body .dgl-a-cube-band.e-con-full{ flex-direction:row; align-items:center;
  justify-content:space-between; height:100%; }
html body .dgl-w-cube-icon .elementor-icon{ width:2.75rem; height:2.75rem; border-radius:.75rem;
  display:flex; align-items:center; justify-content:center; color:#fff;
  background:rgba(255,255,255,.2); backdrop-filter:blur(8px); }
html body .dgl-a-cube-body{ padding:1.25rem; }
html body .dgl-a-cube-cta{ border-radius:1rem; padding:1.5rem; justify-content:center;
  background:linear-gradient(135deg,rgba(231,15,87,.18),rgba(124,58,237,.14));
  border:1px solid rgba(231,15,87,.35); }
html body .dgl-a-cube-cta > .e-con-inner, html body .dgl-a-cube-cta.e-con-full{ align-items:center; justify-content:center; height:100%; }
html body .dgl-carousel-cap{ margin-top:.75rem; text-align:center; font-size:.8rem;
  color:rgba(255,255,255,.6); font-family:var(--dgl-mono); letter-spacing:.04em; min-height:1.2em; }
/* measured against the live original: the hero cards and the UFO sit further
   out than the first pass placed them */
.dgl-dash--tr{ top:14%; right:8.6%; }
.dgl-dash--tl{ top:18%; left:7.9%; }
.dgl-dash--br{ bottom:13%; right:10.6%; }
.dgl-dash--bl{ bottom:15%; left:9.9%; }
html body .dgl-w-ufo{ inset-inline-start:auto; inset-inline-end:4%; top:11%; width:116px; }
html body .dgl-a-metric > .e-con-inner, html body .dgl-a-metric.e-con-full{ align-items:center; }
html body .dgl-w-metric-v .elementor-heading-title{ font-family:var(--dgl-font); }
html body .dgl-w-cube-n .elementor-heading-title{ color:#fff;
  -webkit-text-stroke:1.5px rgba(255,255,255,.7); }
html body .dgl-w-legal-n .elementor-heading-title{ color:rgba(231,15,87,.5);
  -webkit-text-stroke:0; }
html body /* The hero's floating cards anchor to the section, html body not to its boxed inner —
   otherwise they are pulled in to the 1024px content column. */
html body .dgl-a-hero > .e-con-inner{ position:static; }
html body .dgl-a-metric{ width:auto; flex:0 0 auto; }
/* the UFO sits on the physical right in the original, so don't flip it in RTL */
html body .dgl-w-ufo{ inset-inline-start:auto; inset-inline-end:auto; right:4%; left:auto; top:11%; }
/* The portfolio card is the image alone at 5:4; its label rides over the photo
   and is revealed on hover, exactly as on the original. */
html body .dgl-a-work-card{ aspect-ratio:5/4; overflow:hidden; background:#0d0e1a;
  box-shadow:0 20px 50px rgba(0,0,0,.35); }
html body .dgl-a-work-card:hover{ box-shadow:0 30px 70px rgba(231,15,87,.25); }
/* the card is the positioning context for the photo and its label; a
   full-width container matches .e-con-full, so pin that too */
html body .dgl-a-work-card, html body .dgl-a-work-card.e-con-full{ position:relative; }
html body .dgl-a-work-card > .e-con-inner{ position:static; height:100%; }
html body .dgl-w-work-img{ position:absolute; inset:0; }
html body .dgl-w-work-img img{ width:100%; height:100%; object-fit:cover; aspect-ratio:auto;
  transition:transform .9s ease-out; }
html body .dgl-a-work-card:hover .dgl-w-work-img img{ transform:scale(1.06); }
html body .dgl-w-work-tag{ position:absolute; inset-inline-start:.9rem; top:.9rem; z-index:2;
  opacity:0; transform:translateY(-6px); transition:all .4s; }
html body .dgl-a-work-body{ position:absolute; inset-inline:0; bottom:0;
  z-index:2; padding:2.5rem 1.1rem .9rem;
  background:linear-gradient(to top,rgba(11,1,37,.92),transparent);
  opacity:0; transform:translateY(8px); transition:all .4s; }
html body .dgl-a-work-card:hover .dgl-w-work-tag, html body .dgl-a-work-card:hover .dgl-a-work-body{ opacity:1; transform:none; }
/* the reserve carousel keeps the original's 4:3 stage */
/* the carousel skin sizes itself to the slide, so the stage's 4:3 has to come
   from the image rather than the swiper */
html body .dgl-a-war-carousel .elementor-main-swiper, html body .dgl-a-war-carousel .swiper{ width:100%; height:auto; }
html body .dgl-a-war-carousel .swiper-slide{ height:auto; }
html body .dgl-a-war-carousel .elementor-carousel-image{ aspect-ratio:4/3; height:auto;
  min-height:0; background-size:cover; }
html body .dgl-a-war-carousel > .e-con-inner, html body .dgl-a-war-carousel.e-con-full{ width:100%; }
html body .dgl-a-war-carousel .elementor-widget-media-carousel{ width:100%; }
html body .dgl-a-war-carousel .elementor-carousel-image{ height:100%; background-size:cover; }

@media (max-width:639px) {html body .dgl-a-metrics > .e-con-inner, html body .dgl-a-metrics.e-con-full{ gap:1.5rem; }
html body .dgl-a-war-stats > .e-con-inner, html body .dgl-a-war-stats.e-con-full{ gap:1.25rem; justify-content:flex-start; }
html body .dgl-a-tools-grid > .e-con-inner, html body .dgl-a-tools-grid.e-con-full{ gap:.5rem; }
html body .dgl-a-hero-ctas > .e-con-inner, html body .dgl-a-hero-ctas.e-con-full{ flex-direction:column; align-items:stretch; }
html body .dgl-w-btn .elementor-button{ width:100%; justify-content:center; }
html body .dgl-a-svc-top > .e-con-inner, html body .dgl-a-svc-top.e-con-full, html body .dgl-a-step-top > .e-con-inner, html body .dgl-a-step-top.e-con-full{ flex-direction:row; }
html body .dgl-a-legal-htop > .e-con-inner, html body .dgl-a-legal-htop.e-con-full{ flex-wrap:wrap; }
}


/* ---------- portfolio filter chips (measured against the original) ---------- */
.dgl-filterbar .dgl-filterbar__chip{ display:inline-flex; align-items:center; gap:.5rem; cursor:pointer;
  border-radius:999px; padding:10px 20px; font-size:14px; font-weight:700; line-height:1;
  background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.75); backdrop-filter:blur(16px);
  transition:background .3s,border-color .3s,color .3s; }
.dgl-filterbar .dgl-filterbar__chip:hover{ color:#fff; border-color:rgba(255,255,255,.25); }
.dgl-filterbar .dgl-filterbar__chip.is-on{ background:rgb(var(--brand-hot)); border-color:rgb(var(--brand-hot));
  color:#fff; }
.dgl-filterbar .dgl-filterbar__chip i{ font-style:normal; font-size:10px; font-family:var(--dgl-mono);
  color:rgba(255,255,255,.4); }
.dgl-filterbar .dgl-filterbar__chip.is-on i{ color:rgba(255,255,255,.7); }

/* ---------- testimonial card: the quote mark and the five stars, which the
     Pro carousel has no control for ---------- */
html body .dgl-a-quotes .elementor-testimonial{ position:relative; padding:1.75rem; }
html body .dgl-a-quotes .elementor-testimonial::before{ content:"\201D";
  position:absolute; top:.75rem; inset-inline-start:1.25rem; font-family:var(--dgl-font);
  font-size:3.5rem; line-height:1; color:rgba(231,15,87,.25); pointer-events:none; }
html body .dgl-a-quotes .elementor-testimonial__content::before{ content:"★★★★★";
  display:block; letter-spacing:.25em; font-size:.85rem; color:rgb(var(--brand-hot));
  margin-bottom:1rem; }
html body .dgl-a-quotes .elementor-testimonial__text::before{ content:"\201D"; }
html body .dgl-a-quotes .elementor-testimonial__text::after{ content:"\201C"; }
html body .dgl-a-quotes .elementor-testimonial__text{ min-height:100px; }
html body .dgl-a-quotes .elementor-testimonial__footer{ display:flex; align-items:center;
  gap:.75rem; padding-top:1rem; margin-top:1.25rem; border-top:1px solid rgba(255,255,255,.1); }
html body .dgl-a-quotes .dgl-avatar{ flex:0 0 auto; width:2.5rem; height:2.5rem;
  border-radius:999px; display:flex; align-items:center; justify-content:center;
  font-family:var(--dgl-font); font-weight:900; font-size:.875rem; color:#fff;
  background:linear-gradient(135deg,rgb(var(--brand-hot)),#3B1E9B); }

/* ---------- the lead form, matched to the original's field chrome ---------- */
html body .elementor-widget-form .elementor-field-group > label{ display:none; }
html body .elementor-widget-form .elementor-field-textual{ background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:16px 20px;
  font-size:16px; color:#fff; min-height:58px; transition:border-color .3s,background .3s; }
html body .elementor-widget-form textarea.elementor-field-textual{ min-height:130px; }
html body .elementor-widget-form .elementor-field-textual:focus{ background:rgba(255,255,255,.06);
  border-color:rgba(231,15,87,.5); outline:none; box-shadow:none; }
html body .elementor-widget-form .elementor-field-textual::placeholder{ color:rgba(255,255,255,.45); }
html body .elementor-widget-form .elementor-field-type-acceptance{ font-size:12px;
  color:rgba(255,255,255,.6); }
html body .elementor-widget-form .elementor-field-type-acceptance .elementor-field-option{ display:flex;
  align-items:flex-start; gap:.5rem; }
html body .elementor-widget-form .elementor-button{ border-radius:999px; padding:16px 32px;
  font-family:var(--dgl-font); font-weight:700; font-size:16px; color:#fff; border:0;
  background-image:linear-gradient(135deg,rgb(var(--brand-hot)),#E11D48);
  box-shadow:0 14px 34px rgba(231,15,87,.35); transition:transform .3s; }
html body .elementor-widget-form .elementor-button:hover{ transform:translateY(-2px); }

/* The brand icons are stroked line art; Elementor fills widget SVGs by default, which turned the check marks into solid blobs. */
html body .elementor-icon > svg[stroke="currentColor"], html body .elementor-icon-box-icon svg[stroke="currentColor"], html body .elementor-icon-list-icon svg[stroke="currentColor"], html body .elementor-price-table__feature-inner svg[stroke="currentColor"]{ fill:none; stroke:currentColor; }

/* ---------- service-page narrative ---------- */
html body .dgl-a-story{ text-align:center; position:relative; }
html body .dgl-a-story > .e-con-inner, html body .dgl-a-story.e-con-full{ align-items:center; }
html body .dgl-w-story-n{ position:absolute; inset:auto; right:2%; top:38%;
  z-index:0; pointer-events:none; }
html body .dgl-w-story-n .elementor-heading-title{ font-family:var(--dgl-font); font-weight:900;
  font-size:clamp(8rem,18vw,16rem); line-height:1; color:transparent;
  -webkit-text-stroke:2px rgba(255,255,255,.07); }
@media (max-width:1023px) { html body .dgl-w-story-n{ display:none; } }


/* Elementor's lightbox arrows normally carry their own chevron. On a build where
   the icon set fails to load they render blank, so a text chevron stands in —
   but only when the button really has no icon of its own, or both draw at once
   and every arrow appears twice. `:has()` is what makes that condition testable;
   the older sibling-combinator form of this rule was invalid and never matched. */
html body .elementor-lightbox .elementor-swiper-button{ color:#fff; opacity:.85; font-size:2rem; }
html body .elementor-lightbox .elementor-swiper-button:hover{ opacity:1; }
html body .elementor-lightbox .elementor-swiper-button i, html body .elementor-lightbox .elementor-swiper-button svg{ width:2rem; height:2rem; }
html body .elementor-lightbox .elementor-swiper-button-prev:not(:has(svg, i))::after{ content:"\203A"; }
html body .elementor-lightbox .elementor-swiper-button-next:not(:has(svg, i))::after{ content:"\2039"; }
html body .elementor-lightbox .elementor-swiper-button::after{ font-size:2.5rem; line-height:1;
  font-family:var(--dgl-font); }

/* ---------- price tables, matched to the original ---------- */
html body .dgl-w-price .elementor-price-table{ border-radius:24px; padding:32px;
  background:rgba(33,23,93,.28); border:1px solid rgba(255,255,255,.1); }
html body .dgl-w-price--hot .elementor-price-table{
  background:linear-gradient(to bottom right,#EF4444,#E70F57,#E11D48);
  border:2px solid rgba(255,255,255,.2); }
html body .dgl-w-price .elementor-price-table__header, html body .dgl-w-price .elementor-price-table__price, html body .dgl-w-price .elementor-price-table__features-list, html body .dgl-w-price .elementor-price-table__footer{ background:transparent; padding-inline:0; }
/* the original's feature rows carry no rule and no padding */
html body .dgl-w-price .elementor-price-table__features-list li, html body .dgl-w-price .elementor-price-table__features-list li:last-child{
  border:0; padding:.45rem 0; font-size:14px; }
html body .dgl-w-price .elementor-price-table__feature-inner{ display:flex; align-items:flex-start;
  gap:.55rem; color:rgba(255,255,255,.85); }
html body .dgl-w-price .elementor-price-table__feature-inner i, html body .dgl-w-price .elementor-price-table__feature-inner svg{ flex:0 0 auto; margin-top:.15rem; }
/* Elementor draws the feature separators as a border on each row's ::before;
   the original has none. */
html body .dgl-w-price .elementor-price-table .elementor-price-table__features-list li:not(:first-child)::before, html body .dgl-w-price .elementor-price-table__features-list li::before{ border:0; content:none;
  margin:0; display:none; }

/* the "most popular" mark is a centred white pill above the card, not the
   corner ribbon Elementor renders */
html body .dgl-w-price .elementor-ribbon, html body .dgl-w-price .elementor-ribbon-left, html body .dgl-w-price .elementor-ribbon-right{ position:absolute; top:-12px; left:50%; right:auto;
  bottom:auto; width:auto; height:auto; overflow:visible; transform:translateX(-50%); z-index:2; }
html body .dgl-w-price .elementor-ribbon .elementor-ribbon-inner, html body .dgl-w-price .elementor-ribbon-inner{ position:static; transform:none; width:auto;
  margin:0; border-radius:999px; padding:4px 12px; font-size:11px; font-weight:900;
  background:#fff; color:#16043B; box-shadow:none; text-align:center; line-height:1.4;
  white-space:nowrap; left:auto; right:auto; }
html body .dgl-w-price--hot .elementor-ribbon .elementor-ribbon-inner{ color:#16043B; }
html body .dgl-w-price .elementor-ribbon-inner::before, html body .dgl-w-price .elementor-ribbon-inner::after{ content:none; }
html body .dgl-w-price, html body .elementor-widget-price-table.dgl-w-price{ overflow:visible; }


/* ---------- about: the "why choose me" cubes ---------- */
html body .dgl-a-reason{ text-align:center; }
html body .dgl-a-reason > .e-con-inner, html body .dgl-a-reason.e-con-full{ align-items:center; }
html body .dgl-w-reason-icon .elementor-icon{ width:3rem; height:3rem; border-radius:1rem;
  display:flex; align-items:center; justify-content:center; color:#fff;
  background-image:linear-gradient(135deg,rgb(var(--brand-hot)),#3B1E9B);
  box-shadow:0 0 24px rgba(231,15,87,.35); }
html body .dgl-w-reason-t .elementor-heading-title{ font-family:var(--dgl-font); color:#fff; }
html body .dgl-w-reason-d{ color:rgba(255,255,255,.65); }


/* ---------- tool chips: badge, name, and the description as a tooltip ---------- */
html body .dgl-a-tool{ position:relative; width:auto; flex:0 0 auto;
  transition:border-color .3s; }
html body .dgl-a-tool:hover{ border-color:rgba(231,15,87,.4); }
html body .dgl-a-tool > .e-con-inner, html body .dgl-a-tool.e-con-full{ flex-direction:row; align-items:center; gap:.75rem;
  width:auto; }
html body .dgl-w-tool-badge .elementor-heading-title{ width:2.25rem; height:2.25rem;
  border-radius:.5rem; display:flex; align-items:center; justify-content:center;
  font-family:var(--dgl-font); background:var(--dgl-badge-bg,rgba(255,255,255,.08)); }
html body .dgl-w-tool-name .elementor-heading-title{ white-space:nowrap; color:#fff; }
html body .dgl-w-tool-tip{ position:absolute; bottom:100%; margin-bottom:.5rem;
  left:50%; transform:translateX(-50%); opacity:0; pointer-events:none;
  transition:opacity .2s; z-index:10; white-space:nowrap; border-radius:.5rem;
  padding:.5rem .75rem; background:linear-gradient(135deg,rgba(231,15,87,.9),rgba(124,58,237,.85));
  box-shadow:0 12px 30px rgba(0,0,0,.45); }
html body .dgl-a-tool:hover .dgl-w-tool-tip{ opacity:1; }
/* the Adobe apps carry their own badge colours in the original */
html body .dgl-badge-330000 .dgl-w-tool-badge .elementor-heading-title{
  background:#330000; box-shadow:inset 0 0 0 1.5px #ff9a00; }
html body .dgl-badge-001e36 .dgl-w-tool-badge .elementor-heading-title{
  background:#001e36; box-shadow:inset 0 0 0 1.5px #31a8ff; }
html body .dgl-badge-330011 .dgl-w-tool-badge .elementor-heading-title{
  background:#330011; box-shadow:inset 0 0 0 1.5px #ff3366; }


/* Buttons in the original carry no extra tracking; the kit was adding 3px. */
html body .elementor-widget-button .elementor-button, html body .dgl-w-btn .elementor-button{ letter-spacing:normal; }


/* "more from the magazine" is a 30px block heading in the original, not a
   full section heading */
html body .dgl-related .dgl-h3{ font-size:30px; font-family:var(--dgl-font); font-weight:900; }

html body .dgl-about__ctas{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }

/* real brand logos in the tool chips — the chip itself is the image widget's own
   padded, rounded background; this only pins it square and fits the logo */
html body .dgl-w-tool-logo{ flex:0 0 auto; width:2.25rem; height:2.25rem; display:flex;
  align-items:center; justify-content:center; }
html body .dgl-w-tool-logo img{ width:20px; height:20px; object-fit:contain; }
html body .dgl-w-tool-badge{ flex:0 0 auto; }

/* The kit styles bare h2/h3, which outranks a plain class selector — these
   custom-widget headings need the extra specificity to hold their own size. */
html body .dgl-footer__h{ font-size:14px; }
html body .dgl-service__title{ font-size:16px; }
@media (max-width:767px) { html body .dgl-service__title{ font-size:14px; } }
html body .dgl-pillar :is(h2, h3, h4){ font-size:16px; }

/* The kit types bare h2 at a flat 79px, which beat the .dgl-h2 clamp; the
   original steps this heading down to 50px below 1024. */
html body .dgl-h2{ font-size:50px; }
@media (min-width:1024px) { html body .dgl-h2{ font-size:79px; } }
html body .dgl-cta--card .dgl-h2{ font-size:24px; }
@media (min-width:768px) { html body .dgl-cta--card .dgl-h2{ font-size:30px; } }

/* ---------- kit overrides: nothing in this design is purple text ---------- */
/* Elementor's widget defaults paint these with the kit's secondary/accent
   globals, which are the brand's purples — right for gradients, wrong for text. */
html body .elementor-widget-animated-headline .elementor-headline-plain-text{
  color:rgba(255,255,255,.85); }
html body .elementor-widget-animated-headline .elementor-headline, html body .elementor-widget-animated-headline .elementor-headline-dynamic-text, html body .elementor-widget-animated-headline .elementor-headline-dynamic-wrapper{ color:#fff; }
html body .elementor-widget-accordion .elementor-accordion-title, html body .elementor-widget-accordion .elementor-active .elementor-accordion-title, html body .elementor-widget-n-accordion .e-n-accordion-item-title-text{ color:#fff; }

/* the kit colours bare `a` hot pink, which was reaching the buttons too */
html body a.dgl-btn, html body .dgl-btn, html body a.dgl-btn-primary, html body a.dgl-btn-ghost{ color:#fff; }

/* the wordmark ships as a square file, so it needs more height than the
   original's wide export to read at the same size */
html body .dgl-nav__logo img{ height:64px; width:auto; max-width:none; }
@media (max-width:767px) { html body .dgl-nav__logo img{ height:52px; } }

/* ---------- card media: the kit rounds every image ---------- */
/* `.elementor-kit-6 img{ border-radius:16px }` applies site-wide. Inside a card
   the media already sits behind the card's own clipped corners, so the radius
   only rounds the photo away from its frame and shows the gradient behind it. */
html body .dgl-post__media img, html body .dgl-cube__band img, html body .dgl-warrior__stage img, html body .dgl-shots__img, html body .dgl-gal__item img, html body .dgl-portfolio__frame img, html body .dgl-nav__logo img, html body .dgl-footer__logo{ border-radius:0; }

/* the read time and the read-more line sit on the card floor, whatever the
   title wraps to */
html body .dgl-posts__grid .dgl-post{ display:flex; flex-direction:column; }
html body .dgl-posts__grid .dgl-post .dgl-post__media{ flex:0 0 auto; }
html body .dgl-posts__grid .dgl-post__body{ flex:1 1 auto; display:flex; flex-direction:column; }
html body .dgl-posts__grid .dgl-post__body p{ flex:0 1 auto; }
html body .dgl-posts__grid .dgl-post__foot{ margin-top:auto; }

/* the related-post cards run one step smaller than the magazine grid */
html body .dgl-related__grid .dgl-post__body h3{ font-size:16px; }
html body .dgl-related .dgl-post__foot{ margin-top:auto; }
html body .dgl-related__grid .dgl-post{ display:flex; flex-direction:column; }
html body .dgl-related__grid .dgl-post__body{ flex:1 1 auto; display:flex; flex-direction:column; }

/* ---------- single post: native widgets, brand skin ---------- */
html body .elementor-widget-theme-post-featured-image img{ width:100%; height:auto; display:block; }
html body .elementor-widget-breadcrumbs a{ text-decoration:none; }
html body .elementor-widget-post-info .elementor-icon-list-item{ align-items:center; }
/* the category chip above the title */
html body .elementor-element-abpill .elementor-icon-list-text a, html body .elementor-element-abpill .elementor-icon-list-text{
  display:inline-block; padding:.3rem .85rem; border-radius:999px; text-decoration:none;
  background:linear-gradient(135deg,rgb(var(--brand-hot)),#7C3AED); color:#fff; }
html body .elementor-widget-share-buttons .elementor-share-btn{ border-color:rgba(255,255,255,.18); }

/* related posts swipe sideways on a phone instead of stacking */
@media (max-width:767px){
  html body .dgl-a-related-native .elementor-posts-container{
    display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; padding-bottom:10px; }
  html body .dgl-a-related-native .elementor-posts-container > .elementor-post{
    flex:0 0 82%; scroll-snap-align:center; }
  html body .dgl-a-related-native .elementor-posts-container::-webkit-scrollbar{ height:4px; }
  html body .dgl-a-related-native .elementor-posts-container::-webkit-scrollbar-thumb{
    background:rgba(231,15,87,.6); border-radius:999px; }
}

/* ---------- article body: tables and the FAQ accordion ---------- */
/* a wide comparison table scrolls inside its own box instead of pushing the page */
html body .dgl-table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch;
  margin:1.75rem 0; border-radius:14px; border:1px solid rgba(255,255,255,.1); }
html body .dgl-table-scroll table{ width:100%; min-width:560px; border-collapse:collapse;
  margin:0; font-size:15px; }
html body .dgl-table-scroll th, html body .dgl-table-scroll td{
  padding:.85rem 1rem; text-align:start; border-bottom:1px solid rgba(255,255,255,.08);
  vertical-align:top; }
html body .dgl-table-scroll th{ background:rgba(231,15,87,.14); color:#fff; font-weight:900;
  white-space:nowrap; }
html body .dgl-table-scroll td{ color:rgba(255,255,255,.75); }
html body .dgl-table-scroll tr:last-child td{ border-bottom:0; }
html body .dgl-table-scroll::-webkit-scrollbar{ height:6px; }
html body .dgl-table-scroll::-webkit-scrollbar-thumb{ background:rgba(231,15,87,.6); border-radius:999px; }
@media (max-width:767px) { html body .dgl-table-scroll table{ font-size:14px; } }

/* the post content indents block elements; the accordion follows the text column */
/* `.dgl-faq` is also the FAQ section on the service pages, and it caps at 56rem;
   the accordion is a <details> in the article column and follows the text width. */
html body details.dgl-faq{ border:1px solid rgba(255,255,255,.1); border-radius:12px;
  background:rgba(33,23,93,.28); margin:0 0 .6rem; width:100%; max-width:none;
  overflow:hidden; }
html body details.dgl-faq > summary{ list-style:none; cursor:pointer; padding:.8rem 1.1rem;
  font-family:var(--dgl-font); font-weight:900; color:#fff; font-size:16px; line-height:1.4;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  transition:color .25s; }
html body details.dgl-faq > summary::-webkit-details-marker{ display:none; }
html body details.dgl-faq > summary::after{ content:"+"; color:rgb(var(--brand-hot));
  font-size:20px; line-height:1; flex:0 0 auto; opacity:.9; }
html body details.dgl-faq[open] > summary::after{ content:"\2212"; }
html body details.dgl-faq > summary:hover{ color:rgb(var(--brand-hot)); }
html body details.dgl-faq[open]{ border-color:rgba(231,15,87,.4); }
html body details.dgl-faq > p{ margin:0; padding:0 1.1rem 1rem;
  color:rgba(255,255,255,.7); line-height:1.75; font-size:15px; }

/* share buttons: a compact row of icons, not four banners across the column */
html body .elementor-widget-share-buttons .elementor-grid{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-start; }
html body .elementor-widget-share-buttons .elementor-grid-item{ width:auto; }
html body .elementor-widget-share-buttons .elementor-share-btn{
  width:44px; height:44px; min-width:0; border-width:1px; border-radius:999px; }
html body .elementor-widget-share-buttons .elementor-share-btn__icon{ width:100%; }
html body .elementor-widget-share-buttons .elementor-share-btn__text{ display:none; }

/* ---------- magazine cards on a phone ---------- */
/* the chip in the footer only exists for this layout; on wider screens the one
   over the image is the real thing */
html body .dgl-post__cat--foot{ display:none; }
@media (max-width:767px) {
  /* a shorter cover leaves more of the card for the words */
  html body .dgl-posts__grid .dgl-post__media{ height:112px; }
  html body .dgl-post--lead .dgl-post__media{ min-height:150px; padding:1rem; }
  html body .dgl-post__body{ padding:1rem; }
  html body .dgl-post__body h3{ font-size:16px; line-height:1.35; }
  html body .dgl-post--lead .dgl-post__body h2{ font-size:20px; line-height:1.3; }
  html body .dgl-post__body p{ font-size:13.5px; -webkit-line-clamp:3; line-clamp:3; margin-bottom:.75rem; }
  /* the date and the reading time give way to the category */
  html body .dgl-post__foot > i, html body .dgl-post__meta > i{ display:none; }
  html body .dgl-post__media > .dgl-post__cat{ display:none; }
  html body .dgl-post__cat--foot{ display:inline-flex; align-items:center;
    padding:.2rem .6rem; border-radius:999px; font-size:11px; font-weight:900;
    background:rgba(231,15,87,.16); color:rgb(var(--brand-hot));
    border:1px solid rgba(231,15,87,.35); }
  html body .dgl-post__meta{ margin-bottom:.5rem; }
}

/* on a phone the lead article is just another card in the list */
@media (max-width:767px){
  html body .dgl-post--lead{ border-radius:1rem; margin-bottom:1.25rem; }
  html body .dgl-post--lead .dgl-post__media{ height:112px; min-height:0; padding:0; }
  html body .dgl-post--lead .dgl-post__body{ padding:1rem; justify-content:flex-start; }
  html body .dgl-post--lead .dgl-post__body h2{ font-size:16px; line-height:1.35; color:#fff;
    margin-bottom:.5rem; }
  html body .dgl-post--lead .dgl-post__body p{ font-size:13.5px; line-height:1.65;
    -webkit-line-clamp:3; line-clamp:3; display:-webkit-box; -webkit-box-orient:vertical;
    overflow:hidden; margin-bottom:.75rem; color:rgba(255,255,255,.65); }
  html body .dgl-post--lead .dgl-post__cat--foot{ padding:.2rem .6rem; font-size:11px; }
  html body .dgl-post--lead .dgl-post__meta{ gap:.5rem; margin:0 0 .5rem; font-size:12px; }
  html body .dgl-post--lead .dgl-post__go{ margin-top:0; font-size:12px; font-weight:700; }
}

/* ---------- magazine: category filter ---------- */
html body .dgl-catfilter{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center;
  margin:2rem auto 0; max-width:56rem; }
html body .dgl-catfilter__pill{ display:inline-flex; align-items:center; gap:.4rem;
  padding:.5rem 1rem; border-radius:999px; text-decoration:none;
  font-family:var(--dgl-font); font-weight:700; font-size:14px; color:rgba(255,255,255,.75);
  background:rgba(33,23,93,.35); border:1px solid rgba(255,255,255,.12);
  transition:color .25s, border-color .25s, background .25s; }
html body .dgl-catfilter__pill span{ font-size:11px; opacity:.6; font-weight:400; }
html body .dgl-catfilter__pill:hover{ color:#fff; border-color:rgba(231,15,87,.5); }
html body .dgl-catfilter__pill.is-on{ color:#fff; background:rgb(var(--brand-hot));
  border-color:rgb(var(--brand-hot)); }
html body .dgl-catfilter__pill.is-on span{ opacity:.85; }
@media (max-width:767px) {
  html body .dgl-catfilter{ gap:.4rem; margin-top:1.5rem; }
  html body .dgl-catfilter__pill{ padding:.4rem .8rem; font-size:13px; }
}

/* the card footer carries the category on every screen, not the clock */
html body .dgl-post__foot > i, html body .dgl-post__meta > i{ display:none; }
html body .dgl-post__media > .dgl-post__cat{ display:none; }
html body .dgl-post__cat--foot{ display:inline-flex; align-items:center;
  padding:.22rem .65rem; border-radius:999px; font-size:11.5px; font-weight:900;
  background:rgba(231,15,87,.16); color:rgb(var(--brand-hot));
  border:1px solid rgba(231,15,87,.35); }
html body .dgl-post--lead .dgl-post__cat--foot{ padding:.22rem .65rem; font-size:11.5px; }

/* the lead card's category and read-more share one line, like every other card */
html body .dgl-post--lead .dgl-post__meta{ display:flex; align-items:center;
  justify-content:space-between; gap:.75rem; width:100%; margin:0; }
html body .dgl-post--lead .dgl-post__go{ margin-top:0; font-size:13px; }


/* ============================================================
   תיק עבודות מסונן — filter bar and cards in one widget, so the
   markup no longer depends on custom attributes the editor drops.
   ============================================================ */
html body .dgl-workgrid__bar{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:32px; }
html body .dgl-workgrid__chip{ display:inline-flex; align-items:center; gap:.5rem; cursor:pointer;
  border-radius:999px; padding:10px 20px; font-size:14px; font-weight:700; line-height:1;
  font-family:var(--dgl-font); background:rgba(33,23,93,.28); color:rgba(255,255,255,.7);
  border:1px solid rgba(255,255,255,.12); box-shadow:none; text-shadow:none;
  transition:background .3s, border-color .3s, color .3s; }
html body .dgl-workgrid__chip:hover{ color:#fff; border-color:rgba(255,255,255,.25); }
html body .dgl-workgrid__chip.is-on{ background:rgb(var(--brand-hot)); border-color:rgb(var(--brand-hot)); color:#fff; }
html body .dgl-workgrid__chip i{ font-style:normal; font-size:10px; font-family:var(--dgl-mono); color:rgba(255,255,255,.4); }
html body .dgl-workgrid__chip.is-on i{ color:rgba(255,255,255,.7); }

html body .dgl-workgrid__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
html body .dgl-workgrid__item{ --dgl-wg-glow:rgba(231,15,87,.25);
  position:relative; display:block; aspect-ratio:5/4; overflow:hidden; border-radius:16px;
  background:#0d0e1a; border:1px solid rgba(255,255,255,.1); text-decoration:none;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
  transition:transform .5s, box-shadow .5s, border-color .5s; }
html body a.dgl-workgrid__item:hover, html body .dgl-workgrid__item:hover{ transform:translateY(-4px);
  border-color:rgba(231,15,87,.45); box-shadow:0 30px 70px var(--dgl-wg-glow); }
html body .dgl-workgrid__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform .9s ease-out; }
html body .dgl-workgrid__item:hover .dgl-workgrid__img{ transform:scale(1.06); }
html body .dgl-workgrid__tag{ position:absolute; inset-inline-start:.9rem; top:.9rem; z-index:2;
  display:inline-flex; border-radius:999px; padding:.25rem .7rem; font-family:var(--dgl-mono);
  font-size:.65rem; letter-spacing:.1em; color:#fff; background:rgba(11,1,37,.7);
  backdrop-filter:blur(6px); opacity:0; transform:translateY(-6px); transition:all .4s; }
html body .dgl-workgrid__body{ position:absolute; inset-inline:0; bottom:0; z-index:2;
  display:flex; flex-direction:column; gap:.15rem; padding:2.5rem 1.1rem .9rem;
  background:linear-gradient(to top,rgba(11,1,37,.92),transparent);
  opacity:0; transform:translateY(8px); transition:opacity .4s, transform .4s; }
html body .dgl-workgrid__item:hover .dgl-workgrid__tag,
html body .dgl-workgrid__item:hover .dgl-workgrid__body,
html body .dgl-workgrid.is-open .dgl-workgrid__tag,
html body .dgl-workgrid.is-open .dgl-workgrid__body{ opacity:1; transform:none; }
html body .dgl-workgrid__title{ font-family:var(--dgl-font); font-size:1rem; font-weight:900; color:#fff;
  transition:color .3s; }
html body .dgl-workgrid__item:hover .dgl-workgrid__title{ color:rgb(var(--brand-hot)); }
html body .dgl-workgrid__sub{ font-size:.8rem; color:rgba(255,255,255,.7); }
html body .dgl-workgrid__item > img{ position:absolute; inset:0; width:100%; height:100%; }
html body .dgl-workgrid a.dgl-workgrid__item{ cursor:zoom-in; }
html body .dgl-workgrid__item.is-out{ display:none; }
html body .dgl-workgrid__empty{ padding:2rem; text-align:center; color:rgba(255,255,255,.5);
  border:1px dashed rgba(255,255,255,.2); border-radius:16px; }
@media (max-width:1024px){ html body .dgl-workgrid__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px){ html body .dgl-workgrid__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* The category chip is a label, not a control: it sits inside the card's link,
   so a click on it used to follow the card. Taking it out of the hit area
   leaves the rest of the card clickable and the chip inert. */
html body .dgl-post__cat,
html body .dgl-post__cat--foot,
html body .elementor-post__badge,
html body .dgl-workgrid__tag { pointer-events: none; cursor: default; }

html body .dgl-workgrid__more{ text-align:center; margin-top:2.5rem; }
/* The kit styles bare <button> at (0,1,1), which outranks the plain .dgl-btn
   classes and left this one flat and square. Two element names put the brand
   pill back without touching every other button on the site — and Elementor's
   own per-element rules still outrank this, so the Style tab wins over it. */
html body .dgl-workgrid__btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  border:0; cursor:pointer; position:relative; overflow:hidden; border-radius:999px; padding:.9rem 2.25rem;
  font-family:var(--dgl-font); font-weight:900; font-size:.95rem; color:#fff;
  background:linear-gradient(135deg,rgb(var(--brand-hot)) 0%,color-mix(in srgb,rgb(var(--brand-hot)) 74%,#000) 100%);
  box-shadow:0 12px 40px rgba(231,15,87,.35); transition:transform .3s, box-shadow .3s, filter .3s; }
html body .dgl-workgrid__btn:hover{ transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 60px rgba(231,15,87,.6); filter:brightness(1.08); }
html body .dgl-workgrid__left{ margin:.75rem 0 0; font-size:.8rem; color:rgba(255,255,255,.5);
  font-family:var(--dgl-mono); }
html body .dgl-workgrid__done{ text-align:center; margin-top:2.5rem; }
html body .dgl-workgrid__done .dgl-glass-hot{ display:inline-flex; align-items:center; gap:.5rem;
  border-radius:999px; padding:.6rem 1.25rem; font-size:.85rem; color:rgba(255,255,255,.8); }
html body .dgl-workgrid__done i{ font-style:normal; color:rgb(var(--brand-hot)); }


/* ---------- article header: meta row and cover ---------- */
/* The category sits in the meta line now, dressed like the chip on the cards. */
html body .dgl-w-artmeta .elementor-post-info__item--type-terms {
  display: inline-flex; align-items: center;
  background: rgb(var(--brand-hot)); color: #fff;
  border-radius: 999px; padding: 4px 12px;
  font-family: var(--dgl-font); font-size: 11px; font-weight: 900;
  letter-spacing: .04em; line-height: 1.6;
}
html body .dgl-w-artmeta .elementor-post-info__item--type-terms a,
html body .dgl-w-artmeta .elementor-post-info__item--type-terms span { color: #fff; }
html body .dgl-w-artmeta .elementor-inline-items { align-items: center; row-gap: 8px; }
/* the divider before a chip reads as clutter */
html body .dgl-w-artmeta .elementor-post-info__item--type-terms + .elementor-inline-item::before,
html body .dgl-w-artmeta .elementor-inline-item:has(.elementor-post-info__item--type-terms)::before { content: none; }

/* A cover that fills the screen pushes the article itself below the fold. */
html body .elementor-widget-theme-post-featured-image img {
  display: block; width: 100%; height: auto;
  max-height: 420px; object-fit: cover; border-radius: 14px;
}
@media (max-width: 767px) {
  html body .elementor-widget-theme-post-featured-image img { max-height: 240px; }
}

/* The article header is aligned to the reading edge, not centred: an earlier
   rule capped these at 48rem and set margin-inline:auto, which pushed the
   title into the middle of a 1200px column. */
html body.single-post .elementor-widget-theme-post-title,
html body.single-post .elementor-widget-theme-post-excerpt,
html body.single-post .dgl-w-artmeta,
html body.single-post .elementor-widget-breadcrumbs {
  margin-inline-start: 0;
  margin-inline-end: auto;
  max-width: 100%;
}
html body.single-post .elementor-widget-theme-post-title .elementor-heading-title,
html body.single-post .elementor-widget-theme-post-excerpt { text-align: right; }

/* the chip must not inherit the meta row's dimmed text colour */
html body .dgl-w-artmeta .elementor-post-info__item--type-terms,
html body .dgl-w-artmeta .elementor-post-info__item--type-terms * { color: #fff; }

/* The contact form leans on placeholders, so its labels are hidden. A
   questionnaire cannot do that: an empty box with no label is unusable and
   unreadable to a screen reader. Forms marked dgl-w-form keep their labels. */
html body .elementor-widget-form.dgl-w-form .elementor-field-group > label,
html body .dgl-w-form .elementor-field-group > label {
  display: block !important; margin-bottom: 7px !important;
  font-family: var(--dgl-font); font-size: 14px; font-weight: 700;
  color: rgba(255,255,255,.9) !important; text-align: right;
}
html body .dgl-w-form .elementor-field-group { margin-bottom: 4px; }
html body .dgl-w-form .elementor-field-subgroup { gap: 8px 18px; flex-wrap: wrap; }
html body .dgl-w-form .elementor-field-subgroup .elementor-field-option label {
  display: inline !important; font-weight: 400 !important; font-size: 14px;
  color: rgba(255,255,255,.75) !important; margin: 0 6px 0 0 !important;
}
html body .dgl-w-form .elementor-field-textual { padding: 14px 16px; font-size: 15px; }
html body .dgl-w-form select.elementor-field-textual { color: #fff; }
html body .dgl-w-form select.elementor-field-textual option { background: #14121f; color: #fff; }
html body .dgl-w-form .elementor-field-required-indicator { color: rgb(var(--brand-hot)); }

/* ---------- hero data-flow backdrop ---------- */
html body .dgl-dataflow {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; opacity: .6; z-index: 0; overflow: hidden;
}
html body .dgl-dataflow canvas { display: block; width: 100%; height: 100%; }
/* it must sit behind the hero's own content, never on top of it */
html body .elementor-widget-dgl-dataflow { position: static; }
html body .elementor-widget-dgl-dataflow >{ position: static; }


/* ---- carousels: image fills its slide -------------------------------------
   Elementor gives the image box a fixed aspect ratio and a fixed height, so
   its width is derived from the ratio and comes out narrower than the slide.
   That difference is the dark strip that showed beside the photo. ---------- */
html body .elementor-widget-media-carousel .swiper-slide .elementor-carousel-image,
html body .elementor-widget-image-carousel .swiper-slide .elementor-carousel-image{
  width:100%; background-size:cover; background-position:center; }

/* ---- arrows: inside the frame or outside it -------------------------------
   Add `dgl-arrows-in` or `dgl-arrows-out` to any carousel's CSS Classes.
   Elementor has no such control of its own for these widgets. -------------- */
html body .dgl-arrows-in .elementor-swiper-button-prev{ inset-inline-start:12px; }
html body .dgl-arrows-in .elementor-swiper-button-next{ inset-inline-end:12px; }
html body .dgl-arrows-in .elementor-swiper-button{
  background:rgba(10,10,24,.55); backdrop-filter:blur(6px); border-radius:999px;
  width:2.25rem; height:2.25rem; display:flex; align-items:center; justify-content:center; }

html body .dgl-arrows-out .elementor-main-swiper{ margin-inline:2.75rem; }
html body .dgl-arrows-out .elementor-swiper-button-prev{ inset-inline-start:0; }
html body .dgl-arrows-out .elementor-swiper-button-next{ inset-inline-end:0; }
html body .dgl-arrows-out .elementor-swiper-button{ background:none; }
@media (max-width:767px){
  /* Off-canvas arrows would eat a phone's width, so they move back inside. */
  html body .dgl-arrows-out .elementor-main-swiper{ margin-inline:0; }
  html body .dgl-arrows-out .elementor-swiper-button-prev{ inset-inline-start:8px; }
  html body .dgl-arrows-out .elementor-swiper-button-next{ inset-inline-end:8px; }
}

/* ---- horizontal scrolling row on phones -----------------------------------
   Add `dgl-hscroll` to a container. `.e-con.e-grid` sets display:grid at two
   classes, so the override needs two of its own to win. ------------------- */
@media (max-width:767px){
  html body .e-con.dgl-hscroll{
    display:flex; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; }
  html body .e-con.dgl-hscroll::-webkit-scrollbar{ display:none; }
  html body .e-con.dgl-hscroll > .e-con{
    flex:0 0 var(--dgl-hs-card, 82%); scroll-snap-align:center; }
}

/* ---- snap rail on phones: centred card, quarter of each neighbour showing --
   Card at 2/3 of the rail leaves exactly a quarter of a card visible on each
   side (W + 2*0.25W = 1.5W = 100%). The inline padding is what lets the first
   and last card reach the centre. Height comes from `stretch`, so every card
   in the rail is as tall as the tallest one. ------------------------------ */
@media (max-width:767px){
  html body .elementor-element.e-con.dgl-hsnap{
    display:flex; flex-wrap:nowrap; align-items:stretch;
    overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; padding-inline:0; padding-block:1.75rem; gap:0; }
  html body .e-con.dgl-hsnap::-webkit-scrollbar{ display:none; }
  /* Spacers rather than padding: percentage widths resolve against the content
     box, so any inline padding would shrink the cards along with it. */
  html body .e-con.dgl-hsnap::before,
  html body .e-con.dgl-hsnap::after{ content:""; flex:0 0 16.7%; }
  html body .e-con.dgl-hsnap > *{
    flex:0 0 66.6%; scroll-snap-align:center; transform-origin:center center;
    transition:transform .35s ease, opacity .35s ease; }

  /* Equal-height cards need the price table itself to fill the card, with the
     button pushed to the bottom so the three footers line up. */
  /* No height on the flex item itself: an explicit cross-size cancels
     `stretch`, which is exactly what was leaving the three cards uneven. */
  html body .e-con.dgl-hsnap > .elementor-widget-price-table > .elementor-widget-container{ height:100%; }
  html body .e-con.dgl-hsnap .elementor-price-table{ height:100%; display:flex; flex-direction:column; }
  html body .e-con.dgl-hsnap .elementor-price-table__features-list{ flex:1 1 auto; }
  /* Only the gaps Elementor leaves at its own defaults are tightened here; the
     type sizes live in the widget's mobile settings so they stay editable. */
  html body .e-con.dgl-hsnap .elementor-price-table__feature-inner{ margin-block:0; }
  html body .e-con.dgl-hsnap .elementor-price-table__price{ padding-block:2px; }
  /* This one has to out-rank our own .dgl-w-price rule, which is what was
     holding the rows at 0.45rem apart. */
  html body .dgl-hsnap .dgl-w-price .elementor-price-table__features-list li{ padding-block:4px; }
}
@media (prefers-reduced-motion: reduce){
  html body .e-con.dgl-hsnap > *{ transition:none; }
}


/* ---- header / footer built from native widgets ---------------------------
   Only the glass blur lives here: it has no Elementor control of its own.
   Everything else — colours, spacing, radius — is set in the widgets so it
   stays editable from the panel. ----------------------------------------- */
html body .dgl-w-headbar{
  -webkit-backdrop-filter:blur(24px) saturate(1.8); backdrop-filter:blur(24px) saturate(1.8);
  box-shadow:0 10px 40px rgba(0,0,0,.28); }
html body .dgl-w-header{ pointer-events:none; }
html body .dgl-w-header > .e-con-inner, html body .dgl-w-headbar{ pointer-events:auto; }

/* The pill is a 999px-radius box. Left in normal flow, the open menu makes it
   grow — and a tall box with that radius renders as a circle, which is what
   broke the header on phones. Floating the drawer keeps the pill a pill. */
html body .dgl-w-headbar{ position:relative; }
@media (max-width:1024px){
  /* The drawer is absolute, so it lands inside the nearest positioned box.
     That was the nav widget itself — which is only as wide as the burger,
     and the items came out sliced. Making the widget wrappers static hands
     the job to the pill, so the drawer spans the whole bar. */
  html body .dgl-w-headbar .elementor-widget-nav-menu,
  html body .dgl-w-headbar .elementor-widget-nav-menu > .elementor-widget-container{
    position:static; }
  html body .dgl-w-headbar nav.elementor-nav-menu--dropdown{
    position:absolute; inset-inline:0; top:calc(100% + 8px); width:auto; min-width:0;
    /* Same glass, same border, same shadow as the bar, and a radius that echoes
       its curve — so the panel reads as the bar continuing, not as a slab that
       happens to sit underneath it. */
    border-radius:28px; overflow:hidden; padding:.5rem;
    background:rgba(255,255,255,.72);
    -webkit-backdrop-filter:blur(24px) saturate(1.8); backdrop-filter:blur(24px) saturate(1.8);
    box-shadow:0 10px 40px rgba(0,0,0,.28);
    border:1px solid rgba(255,255,255,.45); }
  html body .dgl-w-headbar nav.elementor-nav-menu--dropdown .elementor-nav-menu--dropdown,
  html body .dgl-w-headbar nav.elementor-nav-menu--dropdown ul{ background:transparent; }
  html body .dgl-w-headbar nav.elementor-nav-menu--dropdown a{
    padding:.7rem 1.1rem; white-space:nowrap; text-align:center; justify-content:center;
    border-radius:999px; }
  html body .dgl-w-headbar nav.elementor-nav-menu--dropdown a:hover,
  html body .dgl-w-headbar nav.elementor-nav-menu--dropdown a.elementor-item-active{
    background:rgba(231,15,87,.10); }
  html body .dgl-w-headbar nav.elementor-nav-menu--dropdown ul.elementor-nav-menu{ width:100%; }
  /* The sub-menu is a list inside a list; indent it a touch so the hierarchy
     is readable without a divider line. */
  html body .dgl-w-headbar nav.elementor-nav-menu--dropdown ul ul a{
    font-size:.9em; opacity:.85; }
}


/* ---- website project rows (SiteLin portfolio) -----------------------------
   Only the browser chrome and the phone overlay live here — they have no
   Elementor control. Sizes, colours and spacing stay in the widgets. ------ */
html body .dgl-w-proj-visual{ position:relative; }
html body .dgl-w-proj-shot img{
  border-radius:0 0 12px 12px; display:block; width:100%; }
html body .dgl-w-proj-shot{ position:relative; padding-top:34px;
  background:#20223a; border-radius:14px; overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.1); }
html body .dgl-w-proj-shot::before{
  content:""; position:absolute; inset-inline:0; top:0; height:34px;
  background:linear-gradient(180deg,#2b2e4d,#20223a);
  border-bottom:1px solid rgba(255,255,255,.08); }
/* Physical `left`, not the logical start: in RTL the logical start is the right
   edge, and the two offset shadows were pushed off the frame and clipped — only
   the red and amber survived. Left also matches where a Mac really puts them. */
html body .dgl-w-proj-shot::after{
  content:""; position:absolute; top:13px; left:14px;
  width:8px; height:8px; border-radius:50%; background:#ff5f57;
  box-shadow:14px 0 0 #febc2e, 28px 0 0 #28c840; }
/* A screenshot is almost always a partial capture, so the bottom edge is a
   hard cut. Fading it out reads as "the page keeps going" instead of "this
   image was chopped". */
html body .dgl-w-proj-shot::before,
html body .dgl-w-proj-shot::after{ z-index:3; }
html body .dgl-w-proj-shot{ isolation:isolate; }
html body .dgl-w-proj-shot .elementor-widget-container{ position:relative; }
html body .dgl-w-proj-shot .elementor-widget-container::after{
  content:""; position:absolute; inset-inline:0; bottom:0; height:22%;
  background:linear-gradient(180deg,rgba(17,18,35,0),rgba(17,18,35,.92));
  pointer-events:none; z-index:2; }

/* Phone bezel: the widget is the device, the image is the screen. */
html body .dgl-w-proj-mob{
  position:absolute; bottom:-18px; inset-inline-end:-10px; width:26%; z-index:4; margin:0;
  background:#0d0e18; border-radius:2.2rem; padding:7px;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 60px rgba(0,0,0,.55), inset 0 0 0 2px rgba(255,255,255,.05); }
html body .dgl-w-proj-mob img{
  border-radius:1.7rem; display:block; width:100%; border:0; }
html body .dgl-w-proj-mob::after{
  content:""; position:absolute; top:13px; left:50%; transform:translateX(-50%);
  width:30%; height:9px; border-radius:999px; background:#0d0e18; z-index:2; }
html body .dgl-w-proj-mob::before{
  content:""; position:absolute; top:22%; inset-inline-start:-2px; width:2px; height:9%;
  border-radius:2px; background:rgba(255,255,255,.22); }
html body .dgl-w-proj-tags .elementor-icon-list-items{ display:flex; flex-wrap:wrap; gap:.4rem .9rem; }
html body .dgl-w-proj-meta{ letter-spacing:.06em; }
@media (max-width:767px){
  html body .dgl-w-proj-mob{ width:34%; bottom:-14px; padding:5px; border-radius:1.6rem; }
  html body .dgl-w-proj-mob img{ border-radius:1.25rem; }
  html body .dgl-w-proj-mob::after{ top:9px; height:6px; }
  html body .dgl-w-proj-shot{ padding-top:26px; }
  html body .dgl-w-proj-shot::before{ height:26px; }
  html body .dgl-w-proj-shot::after{ top:9px; left:10px; width:6px; height:6px;
    box-shadow:11px 0 0 #febc2e, 22px 0 0 #28c840; }
}


/* ---- pricing rows: one height, one line of buttons ------------------------
   The feature lists differ in length, so without this the three call-to-action
   buttons float at three different heights. Letting the list absorb the slack
   pins every footer to the same line. Applies at every width, and the widget's
   own new switch can override it per table. -------------------------------- */
html body .dgl-a-price-grid > .elementor-widget-price-table > .elementor-widget-container{
  height:100%; display:flex; }
html body .dgl-a-price-grid .elementor-price-table{
  flex:1 1 auto; display:flex; flex-direction:column; }
html body .dgl-a-price-grid .elementor-price-table__features-list{ flex:1 1 auto; }
/* A readable default gap between the tick and its text; the new slider in the
   Features section overrides it. */
html body .dgl-a-price-grid .elementor-price-table__feature-inner i,
html body .dgl-a-price-grid .elementor-price-table__feature-inner svg{ margin-inline-end:10px; }
