/* ==========================================================================
   Dezhyne — Elementor bridge
   Overrides that need to beat Elementor's own container/widget styles.
   ========================================================================== */

/* Boxed containers wrap their children in .e-con-inner — layout must live there. */
.e-con.dz-sec,.e-con.dz-hero{padding-inline:24px;}
.dz-center > .e-con-inner,
.dz-hero--center > .e-con-inner,
.dz-cta > .e-con-inner{align-items:center;text-align:center;}
.dz-center > .e-con-inner > .elementor-widget,
.dz-cta > .e-con-inner > .elementor-widget{max-width:100%;}

/* Grids must beat .e-con{display:flex} */
.e-con.dz-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.e-con.dz-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.e-con.dz-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.e-con.dz-grid-faq{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:56px;align-items:start;}
.e-con.dz-svc{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);}
.e-con.dz-svc--reverse{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);}
.e-con.dz-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:center;}
.e-con.dz-split--wide-left{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);}
.e-con.dz-split--wide-right{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);}

@media (max-width:1024px){
  .e-con.dz-grid-4,.e-con.dz-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  .e-con.dz-svc,.e-con.dz-svc--reverse{grid-template-columns:1fr;}
  .e-con.dz-grid-faq,.e-con.dz-split,.e-con.dz-split--wide-left,.e-con.dz-split--wide-right{grid-template-columns:1fr;gap:34px;}
}
@media (max-width:781px){
  .e-con.dz-grid-2,.e-con.dz-grid-3,.e-con.dz-grid-4{grid-template-columns:1fr;}
}

/* Service card media should fill its cell */
.dz-svc__media{display:block;}
.dz-svc__media > .elementor-element{width:100%;}
.dz-svc__media > .elementor-widget-image,
.dz-svc__media > .elementor-widget-image > .elementor-widget-container{height:100%;}
.dz-svc__body{display:block;}
.dz-svc__body > .elementor-element + .elementor-element{margin-top:1rem;}
.dz-svc__body > .elementor-widget-heading{margin-top:0;}

/* Widgets inside a plain container should not stretch oddly */
.dz-sec > .e-con-inner > .elementor-widget,
.dz-hero > .e-con-inner > .elementor-widget{width:100%;}

/* Icon-box used as a dark feature card */
.dz-fcard .elementor-icon-box-wrapper{text-align:left;display:block;}
.dz-fcard .elementor-icon-box-icon{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:rgba(21,94,239,.15);border:1px solid rgba(21,94,239,.25);
  margin:0 0 1.1rem;
}
.dz-fcard .elementor-icon-box-icon .elementor-icon{color:var(--dz-blue-400);font-size:18px;line-height:1;}
.dz-fcard .elementor-icon-box-icon svg{width:18px;height:18px;fill:currentColor;}
.dz-fcard .elementor-icon-box-title{font-size:1.1rem;color:#fff;margin:0 0 .55rem;letter-spacing:-.02em;}
.dz-fcard .elementor-icon-box-title a{color:inherit;}
.dz-fcard .elementor-icon-box-description{font-size:.88rem;line-height:1.65;color:var(--dz-on-dark-muted);margin:0;}

/* Icon-box used as a light tile */
.dz-tilebox{background:#fff;border:1px solid var(--dz-line);border-radius:var(--dz-r-md);padding:24px 24px 26px;transition:.25s ease;}
.dz-tilebox:hover{box-shadow:var(--dz-shadow-md);transform:translateY(-3px);}
.dz-tilebox .elementor-icon-box-wrapper{text-align:left;display:block;}
.dz-tilebox .elementor-icon-box-icon{
  width:36px;height:36px;border-radius:11px;display:grid;place-items:center;
  background:var(--dz-surface-blue);margin:0 0 .95rem;
}
.dz-tilebox .elementor-icon-box-icon .elementor-icon{color:var(--dz-blue-600);font-size:16px;line-height:1;}
.dz-tilebox .elementor-icon-box-icon svg{width:16px;height:16px;fill:currentColor;}
.dz-tilebox .elementor-icon-box-title{font-size:1rem;color:var(--dz-ink);margin:0 0 .4rem;}
.dz-tilebox .elementor-icon-box-description{font-size:.85rem;line-height:1.62;color:var(--dz-muted);margin:0;}

/* Buttons: Elementor resets */
.elementor-widget-button .elementor-button{
  font-family:var(--dz-font);font-weight:700;letter-spacing:-.01em;
  border-radius:var(--dz-r-pill);padding:1em 1.85em;font-size:.95rem;
  background-color:var(--dz-blue-600);color:#fff;
  transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;
  box-shadow:0 8px 20px rgba(21,94,239,.22);
}
.elementor-widget-button .elementor-button:hover{background-color:var(--dz-blue-700);color:#fff;transform:translateY(-2px);}
.elementor-widget-button .elementor-button-icon{display:inline-flex;align-items:center;}
.elementor-widget-button .elementor-button-icon svg{width:1em;height:1em;fill:currentColor;}
.dz-btn-dark .elementor-button{background-color:var(--dz-navy-800);box-shadow:0 8px 22px rgba(11,34,56,.26);}
.dz-btn-dark .elementor-button:hover{background-color:var(--dz-navy-900);}
.dz-btn-white .elementor-button{background-color:#fff;color:var(--dz-navy-800);}
.dz-btn-white .elementor-button:hover{background-color:#fff;color:var(--dz-navy-900);}
.dz-btn-violet .elementor-button{background-color:var(--dz-violet);box-shadow:0 8px 22px rgba(21,94,239,.3);}
.dz-btn-violet .elementor-button:hover{background-color:#2970FF;}
.dz-btn-purple .elementor-button{background-color:var(--dz-purple);box-shadow:0 8px 22px rgba(41,112,255,.3);}
.dz-btn-purple .elementor-button:hover{background-color:#2970FF;}

/* The inline arrow-link button variant */
.dz-more .elementor-button{
  background-color:transparent;box-shadow:none;padding:0;
  color:var(--dz-blue-600);font-size:.88rem;font-weight:700;border-radius:0;
}
.dz-more .elementor-button:hover{background-color:transparent;color:var(--dz-blue-500);transform:none;}

/* Headings & text inherit theme typography */
.elementor-widget-heading .elementor-heading-title{font-family:var(--dz-font);color:var(--dz-ink);font-weight:700;letter-spacing:-.02em;line-height:1.15;}
.elementor-widget-text-editor{font-family:var(--dz-font);color:var(--dz-muted);}
.dz-on-dark .elementor-widget-text-editor{color:var(--dz-on-dark-muted);}
.dz-on-dark .elementor-widget-heading .elementor-heading-title{color:#fff;}

/* Icon list (feature checks) */
.elementor-widget-icon-list .elementor-icon-list-items{padding:0;margin:0;list-style:none;}

/* Accordion reset so the theme FAQ styling can take over */
.dz-faq .elementor-accordion .elementor-accordion-item{border-width:1px;}
.dz-faq .elementor-tab-title{cursor:pointer;}

/* Image widget defaults */
.elementor-widget-image img{display:block;}
.elementor-widget-image figure{margin:0;}

/* ---------------------------------------------------- centred sections -- */
.e-con.dz-center > .e-con-inner,
.e-con.dz-hero--center > .e-con-inner,
.e-con.dz-cta > .e-con-inner{align-items:center;text-align:center;}
.e-con.dz-center > .e-con-inner > .elementor-widget,
.e-con.dz-hero--center > .e-con-inner > .elementor-widget,
.e-con.dz-cta > .e-con-inner > .elementor-widget{width:auto;max-width:100%;text-align:center;}
/* nested grids inside a centred section must still span the full width */
.e-con.dz-center > .e-con-inner > .e-con,
.e-con.dz-hero--center > .e-con-inner > .e-con,
.e-con.dz-cta > .e-con-inner > .e-con{width:100%;align-self:stretch;}
.e-con.dz-center .elementor-widget-text-editor,
.e-con.dz-hero--center .elementor-widget-text-editor,
.e-con.dz-cta .elementor-widget-text-editor{text-align:center;}
.e-con.dz-center .dz-grid-3 .elementor-widget,
.e-con.dz-center .dz-grid-4 .elementor-widget,
.e-con.dz-center .dz-grid-2 .elementor-widget{width:100%;text-align:left;}

/* vertical rhythm inside sections */
.e-con.dz-sec > .e-con-inner > .elementor-element + .elementor-element,
.e-con.dz-hero > .e-con-inner > .elementor-element + .elementor-element{margin-top:1.15rem;}
.e-con.dz-sec > .e-con-inner > .elementor-widget-heading + .elementor-widget-text-editor,
.e-con.dz-hero > .e-con-inner > .elementor-widget-heading + .elementor-widget-text-editor{margin-top:.2rem;}
.e-con.dz-sec > .e-con-inner > .elementor-element:first-child,
.e-con.dz-hero > .e-con-inner > .elementor-element:first-child{margin-top:0;}
.e-con.dz-sec > .e-con-inner > .elementor-widget-button,
.e-con.dz-hero > .e-con-inner > .elementor-widget-button{margin-top:1.9rem;}

/* service card: image must fill its half of the card */
.dz-svc__media.e-con{display:block;padding:0;}
.dz-svc__media > .elementor-widget-image{height:100%;width:100%;}
.dz-svc__media > .elementor-widget-image > .elementor-widget-container,
.dz-svc__media > .elementor-widget-image figure,
.dz-svc__media > .elementor-widget-image img{height:100%;width:100%;}
.dz-svc__media > .elementor-widget-image img{object-fit:cover;}
.dz-svc__media > .elementor-widget-html{position:static;height:0;}
.dz-svc__body.e-con{display:block;padding:12px 16px 12px 6px;}
@media (max-width:900px){ .dz-svc__body.e-con{padding:4px 8px 12px;} }
.dz-svc__body > .elementor-element + .elementor-element{margin-top:1.05rem;}

/* Elementor's kit sets heading colour globally; brand tokens win for accents */
.elementor-heading-title .dz-a{color:var(--dz-blue-500);}
.elementor-heading-title .dz-a-light{color:var(--dz-blue-300);}
.elementor-heading-title .dz-a-violet{color:var(--dz-violet);}
.elementor-heading-title .dz-a-purple{color:var(--dz-purple);}
.elementor-heading-title .dz-a-green{color:var(--dz-green);}
.elementor-heading-title .dz-a-pink{color:var(--dz-pink);}
.elementor-heading-title .dz-i{font-style:italic;}
.dz-on-dark .elementor-heading-title{color:#fff;}

/* pills and inline HTML widgets should shrink-wrap */
.elementor-widget-html > .elementor-widget-container{display:block;}
.dz-sec > .e-con-inner > .elementor-widget-html,
.dz-hero > .e-con-inner > .elementor-widget-html{width:100%;}

/* service card icon chip */
.dz-svc__title .elementor-heading-title::before{display:none !important;}
.dz-svc__ico{
  width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;
  background:var(--dz-surface-blue);border:1px solid rgba(21,94,239,.16);color:var(--dz-blue-600);
}
.dz-svc__ico svg{width:17px;height:17px;}

/* ------------------------------------------------- Who We Are helpers -- */
.e-con.dz-inline{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:1.6rem;width:auto;}
.e-con.dz-inline > .elementor-widget{width:auto;margin-top:0 !important;}
.e-con.dz-inline--center{justify-content:center;}
.dz-note{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.76rem;font-weight:600;line-height:1.4;color:var(--dz-on-dark-muted);
}
.dz-note svg{flex:none;color:var(--dz-blue-400);}
.dz-eyebrow--dark{color:var(--dz-on-dark-faint) !important;margin:0 0 .4rem;}

.dz-scrollcue-wrap{display:flex;justify-content:center;margin-top:52px;}
.dz-stat__n,.dz-stat__l{display:block;}

/* floating “Elite 1%” card overlapping the photo */
.dz-relative{position:relative;}
.dz-float-card--over{position:absolute;right:-18px;bottom:-26px;z-index:3;}
@media (max-width:900px){ .dz-float-card--over{position:static;margin-top:-34px;margin-left:18px;} }
.dz-relative > .elementor-widget-html{position:static;}

/* principle cards */
.e-con.dz-principle{display:block;position:relative;padding:0;}
.dz-principle > .elementor-widget-image,
.dz-principle > .elementor-widget-image > .elementor-widget-container,
.dz-principle > .elementor-widget-image figure{position:absolute;inset:0;height:100%;width:100%;margin:0;}
.dz-principle > .elementor-widget-html{position:static;}
.dz-principle__body{display:block;}
.dz-principle__body span svg{vertical-align:-1px;}

/* avatars */
.dz-avatars{vertical-align:middle;}
.dz-avatars p{white-space:nowrap;}

/* photo frame inside a container */
.dz-photo-frame.elementor-widget-image img{border-radius:var(--dz-r-xl);box-shadow:var(--dz-shadow-lg);width:100%;}

/* hero with a photo background needs its overlay behind the content */
.dz-hero--photo > .e-con-inner{position:relative;z-index:2;}
.dz-hero--photo::before{z-index:1;}
.dz-hero--dark::after{z-index:0;}
.dz-hero > .e-con-inner{position:relative;z-index:2;}

/* Elementor supplies the veil on photo heroes */
.dz-hero--photo::before{display:none;}
.dz-hero .elementor-background-overlay{z-index:1;}
.dz-hero > .e-con-inner{position:relative;z-index:3;}

/* photo hero veil (final word) */
.dz-hero--photo::before{display:block;z-index:1;}
.dz-hero--photo > .e-con-inner{position:relative;z-index:3;}

/* --------------------------------------------------------------------- */
/* Elementor claims .e-con::before / ::after for its own overlays, which  */
/* wipes out `content` on our decorative layers. Re-assert them here.     */
/* --------------------------------------------------------------------- */
.dz-hero--photo::before{
  content:"" !important;
  display:block;position:absolute;inset:0;z-index:1;
  background:linear-gradient(105deg,rgba(11,34,56,.95) 0%,rgba(11,34,56,.80) 45%,rgba(18,48,74,.60) 100%);
  pointer-events:none;
}
.dz-hero--dark::after{
  content:"" !important;
  display:block;position:absolute;inset:0;z-index:1;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent 75%);
  mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent 75%);
  pointer-events:none;
}
.dz-hero > .e-con-inner{position:relative;z-index:3;}

/* Same problem for every decorative pseudo-element inside Elementor cards */
.dz-proj__label::before,
.dz-flow::before,
.dz-footer__col li a::before{content:"" !important;}

/* ------------------------------------------------ principle cards fix -- */
.dz-principle.e-con{
  display:block;position:relative;overflow:hidden;padding:0;
  aspect-ratio:3/4;border-radius:var(--dz-r-lg);
  box-shadow:var(--dz-shadow-md);isolation:isolate;
}
.dz-principle .elementor-widget-image{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:0;}
.dz-principle .elementor-widget-image > *{height:100%;width:100%;margin:0;}
.dz-principle .elementor-widget-image img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;border-radius:0;max-width:none;
}
.dz-principle::after{
  content:"" !important;display:block;position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,34,56,.16) 0%,rgba(11,34,56,.30) 42%,rgba(11,34,56,.88) 100%);
}
.dz-principle .elementor-widget-html{position:static;z-index:2;}
.dz-principle__ico,.dz-principle__body{z-index:3;}
.dz-principle:hover .elementor-widget-image img{transform:scale(1.06);transition:transform .6s ease;}

/* ------------------------------------------------------- project cards -- */
.e-con.dz-proj{
  display:block;padding:0;background:#fff;
  border:1px solid var(--dz-line);border-radius:var(--dz-r-xl);overflow:hidden;
  box-shadow:var(--dz-shadow-sm);transition:box-shadow .3s ease,transform .3s ease;
}
.e-con.dz-proj:hover{box-shadow:var(--dz-shadow-lg);transform:translateY(-3px);}
.dz-proj > .elementor-widget-html.dz-proj__shot{display:block;border-bottom:1px solid var(--dz-line-soft);}
.e-con.dz-proj__body{
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  gap:34px;align-items:start;padding:30px 34px 34px;
}
@media (max-width:900px){ .e-con.dz-proj__body{grid-template-columns:1fr;gap:24px;padding:24px;} }
.dz-proj__body > .e-con{padding:0;}
.dz-proj__body .elementor-widget-button{margin-top:1rem;}
.dz-btn-sm .elementor-button{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.95em 1.5em;width:100%;justify-content:center;}

/* mock: centred variants */
.dz-mock--center .dz-mock__search{margin-inline:auto;}
.dz-mock--center .dz-mock__chips{justify-content:center;}
.dz-mock__title em{font-style:italic;}
.dz-mock__veil{display:block;}

/* CTA icon chip as a standalone HTML widget */
.dz-cta__ico{display:grid;}

/* mock headings must inherit their card's colour, not the global h3 colour */
.dz-mock__title,.dz-mock__brand,.dz-mock__eyebrow,.dz-mock__sub{color:inherit;}
.dz-mock--blushu .dz-mock__veil{background:linear-gradient(180deg,rgba(32,24,22,.34) 0%,rgba(32,24,22,.72) 100%);}
.dz-mock--blushu .dz-mock__copy,
.dz-mock--realestate .dz-mock__copy,
.dz-mock--plumbing .dz-mock__copy{color:#fff;}
.dz-mock--smilehub .dz-mock__copy{color:#3B2E1E;}
.dz-mock--smilehub .dz-mock__title{color:#2C231A;}

/* service-page helpers */
.e-con.dz-measure-wide{max-width:900px;margin-inline:auto;width:100%;text-align:left;}
.dz-center .dz-flow,.dz-center .dz-arsenal,.dz-center .dz-kpis{text-align:left;}
.dz-center > .e-con-inner > .elementor-widget-html{width:100%;}
.dz-split > .e-con > .elementor-element + .elementor-element{margin-top:1.1rem;}
.dz-split > .e-con{padding:0;}

/* ==========================================================================
   HOME PAGE COMPONENTS
   ========================================================================== */

/* hero photo with floating chip + impact card */
.dz-imgcard{position:relative;display:block;}
.dz-imgcard img{width:100%;display:block;border-radius:20px;box-shadow:var(--dz-shadow-lg);}
.dz-imgcard__chip{
  position:absolute;top:-16px;right:-16px;width:48px;height:48px;border-radius:15px;
  background:#fff;display:grid;place-items:center;color:var(--dz-navy-800);
  box-shadow:var(--dz-shadow-md);border:1px solid var(--dz-line);
}
.dz-imgcard__stat{
  position:absolute;left:-26px;bottom:30px;
  background:var(--dz-navy-800);color:#fff;border-radius:15px;padding:16px 24px;
  box-shadow:var(--dz-shadow-dark);
}
.dz-imgcard__stat span{
  display:block;font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--dz-blue-300);margin-bottom:.3rem;
}
.dz-imgcard__stat strong{display:block;font-size:1.3rem;font-weight:700;letter-spacing:-.02em;line-height:1;}
@media (max-width:900px){ .dz-imgcard__stat{left:12px;bottom:12px;} .dz-imgcard__chip{right:10px;top:10px;} }

/* service list */
.dz-svclist{display:block;}
.dz-svcrow{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.1rem;align-items:start;
  padding:22px 0;border-bottom:1px solid var(--dz-line);color:var(--dz-ink);
  transition:color .2s ease;
}
.dz-svcrow:last-child{border-bottom:0;}
.dz-svcrow:hover{color:var(--dz-blue-600);}
.dz-svcrow__ico{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none;
  background:var(--dz-surface-blue);color:var(--dz-blue-600);
}
.dz-svcrow__ico svg{width:17px;height:17px;}
.dz-svcrow__title{display:block;font-size:1.32rem;font-weight:700;letter-spacing:-.025em;line-height:1.25;color:inherit;}
.dz-svcrow__desc{display:block;font-size:.87rem;line-height:1.68;color:var(--dz-muted);margin-top:.65rem;max-width:46ch;}
.dz-svcrow__arrow{color:var(--dz-muted-light);margin-top:.5rem;}
.dz-svcrow:hover .dz-svcrow__arrow{color:var(--dz-blue-500);}
.dz-svcrow.is-active .dz-svcrow__title{color:var(--dz-blue-600);}
.dz-svcrow.is-active .dz-svcrow__ico{background:var(--dz-navy-800);color:#fff;}

/* layered “excellence” image stack */
.dz-stack-img{position:relative;padding-bottom:72px;}
.dz-stack-img__main{width:100%;display:block;border-radius:18px;box-shadow:var(--dz-shadow-lg);}
.dz-stack-img__badge{
  position:absolute;top:-18px;left:-18px;z-index:3;
  background:#fff;border-radius:13px;padding:12px 18px;box-shadow:var(--dz-shadow-md);
  border:1px solid var(--dz-line);
}
.dz-stack-img__badge em{
  display:block;font-style:normal;font-size:.55rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--dz-blue-600);margin-bottom:.25rem;
}
.dz-stack-img__badge strong{display:block;font-size:1rem;font-weight:700;color:var(--dz-ink);letter-spacing:-.02em;}
.dz-stack-img__lower{
  position:absolute;right:0;bottom:0;width:78%;z-index:2;
  border-radius:16px;overflow:hidden;box-shadow:var(--dz-shadow-lg);
  border:4px solid #fff;
}
.dz-stack-img__lower img{width:100%;display:block;height:150px;object-fit:cover;}
.dz-stack-img__stats{
  position:absolute;inset:auto 0 0 0;display:grid;grid-template-columns:1fr 1fr;
  background:linear-gradient(180deg,rgba(11,34,56,0),rgba(11,34,56,.9));
  padding:26px 22px 16px;color:#fff;
}
.dz-stack-img__stats strong{display:block;font-size:1.35rem;font-weight:700;letter-spacing:-.03em;line-height:1;}
.dz-stack-img__stats span{display:block;font-size:.55rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:.3rem;}
.dz-stack-img__stats > div:last-child{text-align:right;}
@media (max-width:900px){
  .dz-stack-img{padding-bottom:54px;}
  .dz-stack-img__lower{width:88%;}
  .dz-stack-img__badge{left:8px;top:8px;}
}

/* two small feature boxes */
.dz-minifeats{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:560px){ .dz-minifeats{grid-template-columns:1fr;} }
.dz-minifeat{border:1px solid var(--dz-line);border-radius:var(--dz-r-md);padding:16px 18px;background:#fff;}
.dz-minifeat span{
  display:grid;place-items:center;width:28px;height:28px;border-radius:9px;
  background:var(--dz-surface-blue);color:var(--dz-blue-600);margin-bottom:.7rem;
}
.dz-minifeat span svg{width:14px;height:14px;}
.dz-minifeat strong{display:block;font-size:.9rem;font-weight:700;color:var(--dz-ink);margin-bottom:.2rem;}
.dz-minifeat small{display:block;font-size:.76rem;line-height:1.55;color:var(--dz-muted);}

/* testimonials */
.dz-testis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:left;}
@media (max-width:1024px){ .dz-testis{grid-template-columns:1fr;} }
.dz-testi{
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);
  border-radius:var(--dz-r-lg);padding:26px 26px 24px;transition:.25s ease;
}
.dz-testi:hover{background:rgba(255,255,255,.075);transform:translateY(-3px);}
.dz-testi--hl{border-color:rgba(21,94,239,.55);background:rgba(21,94,239,.08);}
.dz-stars{display:block;color:#F5B93B;font-size:.85rem;letter-spacing:.12em;margin-bottom:1rem;}
.dz-testi p{font-size:.86rem;line-height:1.7;color:var(--dz-on-dark-muted);font-style:italic;margin:0 0 1.5rem;}
.dz-testi__who{display:flex;align-items:center;gap:.8rem;}
.dz-testi__av{
  width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:rgba(21,94,239,.22);border:1px solid rgba(21,94,239,.35);
  color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.04em;
}
.dz-testi__who strong{display:block;font-size:.88rem;font-weight:700;color:#fff;line-height:1.2;}
.dz-testi__who small{display:block;font-size:.58rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--dz-blue-300);margin-top:.25rem;}

/* section head with a right-aligned link */
.e-con.dz-headrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;}
@media (max-width:781px){ .e-con.dz-headrow{grid-template-columns:1fr;gap:1rem;} }

/* ghost button on dark */
.dz-btn-ghost-light .elementor-button{background-color:rgba(255,255,255,.08);color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.22);}
.dz-btn-ghost-light .elementor-button:hover{background-color:rgba(255,255,255,.16);color:#fff;}
.dz-btn-outline .elementor-button{background-color:#fff;color:var(--dz-ink);box-shadow:var(--dz-shadow-sm);border:1px solid var(--dz-line);}
.dz-btn-outline .elementor-button:hover{background-color:#fff;color:var(--dz-blue-600);border-color:var(--dz-blue-300);}

/* home service cards + cover links */
.dz-homecard .elementor-icon-box-title{font-size:1.06rem;}
.e-con.dz-grid-2--narrow{max-width:790px;margin-inline:auto;}
.dz-cover-link{position:absolute;inset:0;z-index:4;}

/* muted second line in a heading */
.elementor-heading-title .dz-mute{color:#94A3B8;}
.dz-on-dark .elementor-heading-title .dz-mute{color:var(--dz-blue-300);}

/* keep large feature photos in a consistent landscape crop */
.dz-imgcard img{aspect-ratio:16/11;object-fit:cover;}
.dz-round.dz-full-img img{aspect-ratio:16/11;object-fit:cover;width:100%;}
.dz-stack-img__main{aspect-ratio:4/3;object-fit:cover;}
@media (max-width:781px){
  .dz-imgcard img,.dz-round.dz-full-img img{aspect-ratio:16/10;}
}

/* real brand mark */
img.dz-logo__mark{width:28px;height:28px;object-fit:contain;flex:none;}
.dz-footer img.dz-logo__mark{filter:brightness(0) invert(1);}

/* ==========================================================================
   CONTACT PAGE — info card stack
   The five cards live in one HTML widget, so they need their own rhythm.
   ========================================================================== */
.dz-info + .dz-info,
.dz-info + .dz-status,
.dz-status + .dz-info,
.dz-status + .dz-status{margin-top:16px;}

/* every card the same width, padding and radius */
.dz-info,.dz-status{
  width:100%;box-sizing:border-box;
  border-radius:20px;
  padding:22px 24px;
  margin-left:0;margin-right:0;
}
.dz-status{padding:20px 24px;}

/* the icon column must not squash, so every card's text starts on the same x */
.dz-info__ico{width:46px;height:46px;flex:0 0 46px;}
.dz-info__text{flex:1 1 auto;min-width:0;}
/* keep the corner tag clear of the text */
.dz-info{padding-right:112px;}
@media (max-width:480px){
  .dz-info{padding-right:24px;}
  .dz-info__tag{position:static;display:inline-block;margin-top:.6rem;}
}

/* the status card aligns its dot with the icon column above it */
.dz-status{display:flex;align-items:center;gap:1rem;}
.dz-status i{margin-left:18px;margin-right:2px;}

/* utility used by the contact column */
.e-con.dz-stack-16{display:flex;flex-direction:column;gap:16px;}

/* two-column sections that should line up at the top, not the middle */
.e-con.dz-split--top{align-items:start;}

/* === HOME HERO MOTION (dz-hero-pan) ===================================== */
/* Bigger image column on the home hero */
.elementor-75 .dz-hero .e-con.dz-split--wide-left{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;}

.elementor-75 .dz-hero .dz-imgcard{
  overflow:visible;
  animation:dz-card-in 1.1s cubic-bezier(.2,.7,.2,1) both;
}
.elementor-75 .dz-hero .dz-imgcard img{
  width:100%;
  height:auto;
  aspect-ratio:1/1.02;
  object-fit:cover;
  object-position:50% 0%;
  border-radius:22px;
  animation:dz-hero-pan 18s ease-in-out .6s infinite alternate;
  will-change:object-position;
}
.elementor-75 .dz-hero .dz-imgcard:hover img{animation-play-state:paused;}

/* Floating chip and impact card */
.elementor-75 .dz-hero .dz-imgcard__chip{
  width:64px;height:64px;border-radius:16px;top:-24px;right:-20px;
  animation:dz-float 4.5s ease-in-out infinite;
}
.elementor-75 .dz-hero .dz-imgcard__chip svg{width:26px;height:26px;}
.elementor-75 .dz-hero .dz-imgcard__stat{
  left:-30px;bottom:-30px;padding:22px 30px;border-radius:14px;
  animation:dz-card-in 1s cubic-bezier(.2,.7,.2,1) .5s both, dz-float 5.5s ease-in-out 1.5s infinite;
}
.elementor-75 .dz-hero .dz-imgcard__stat span{font-size:.72rem;}
.elementor-75 .dz-hero .dz-imgcard__stat strong{font-size:1.75rem;}

@keyframes dz-hero-pan{
  0%  {object-position:50% 0%;}
  100%{object-position:50% 100%;}
}
@keyframes dz-card-in{
  from{opacity:0;transform:translateY(28px) scale(.97);}
  to  {opacity:1;transform:none;}
}
@keyframes dz-float{
  0%,100%{transform:translateY(0);}
  50%    {transform:translateY(-8px);}
}

/* Hero buttons: bigger, rounded, lift + arrow slide + light sweep */
.elementor-75 .dz-hero .dz-btn-dark .elementor-button,
.elementor-75 .dz-hero .dz-btn-outline .elementor-button{
  position:relative;overflow:hidden;
  padding:20px 38px;font-size:1.125rem;font-weight:600;border-radius:12px;
  transition:transform .25s ease,box-shadow .25s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
}
.elementor-75 .dz-hero .dz-btn-dark .elementor-button{background-color:#1F4E79;box-shadow:0 14px 30px rgba(31,78,121,.30);}
.elementor-75 .dz-hero .dz-btn-dark .elementor-button:hover{background-color:#173E62;}
.elementor-75 .dz-hero .dz-btn-outline .elementor-button{background:#fff;color:#0B2238;border:1px solid #E4E9F0;box-shadow:0 6px 18px rgba(11,34,56,.06);}
.elementor-75 .dz-hero .dz-btn-dark .elementor-button:hover,
.elementor-75 .dz-hero .dz-btn-outline .elementor-button:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(11,34,56,.22);}
.elementor-75 .dz-hero .dz-btn-dark .elementor-button::after{
  content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-20deg);animation:dz-sweep 3.8s ease-in-out 1.5s infinite;pointer-events:none;
}
.elementor-75 .dz-hero .dz-btn-dark .elementor-button-icon{transition:transform .25s ease;}
.elementor-75 .dz-hero .dz-btn-dark .elementor-button:hover .elementor-button-icon{transform:translateX(6px);}
@keyframes dz-sweep{0%{left:-60%;}55%,100%{left:130%;}}

@media (max-width:1024px){
  .elementor-75 .dz-hero .e-con.dz-split--wide-left{grid-template-columns:1fr;gap:48px;}
  .elementor-75 .dz-hero .dz-imgcard{max-width:560px;margin-inline:auto;}
}
@media (max-width:767px){
  .elementor-75 .dz-hero .dz-imgcard__stat{left:12px;bottom:-18px;padding:16px 22px;}
  .elementor-75 .dz-hero .dz-imgcard__stat strong{font-size:1.35rem;}
  .elementor-75 .dz-hero .dz-imgcard__chip{right:10px;top:-14px;width:52px;height:52px;}
  .elementor-75 .dz-hero .dz-btn-dark .elementor-button,
  .elementor-75 .dz-hero .dz-btn-outline .elementor-button{padding:16px 26px;font-size:1rem;}
}
@media (prefers-reduced-motion:reduce){
  .elementor-75 .dz-hero .dz-imgcard,
  .elementor-75 .dz-hero .dz-imgcard img,
  .elementor-75 .dz-hero .dz-imgcard__chip,
  .elementor-75 .dz-hero .dz-imgcard__stat,
  .elementor-75 .dz-hero .dz-btn-dark .elementor-button::after{animation:none;}
}

/* hero image: smaller, aligned left */
.elementor-75 .dz-hero .dz-imgcard{max-width:470px;margin-left:0;margin-right:auto;}
@media (max-width:1024px){.elementor-75 .dz-hero .dz-imgcard{max-width:470px;margin-inline:0 auto;}}
/* Smaller hero image, aligned left */
.elementor-75 .dz-hero .dz-split--wide-left > .e-con:last-child{align-items:flex-end;}
.elementor-75 .dz-hero .dz-split--wide-left > .e-con:last-child .elementor-widget-html{width:100%;}
.elementor-75 .dz-hero .dz-imgcard{max-width:480px;margin-left:auto;margin-right:-60px;}
@media (max-width:1280px){.elementor-75 .dz-hero .dz-imgcard{margin-right:0;}}@media (max-width:1024px){.elementor-75 .dz-hero .dz-imgcard{max-width:480px;margin-inline:auto;}}
/* === end dz-hero-pan === */

/* === SERVICE ACCORDION (dz-svcacc) ====================================== */
.dz-svcacc .dz-svcrow{align-items:start;transition:color .25s ease;}
.dz-svcacc .dz-svcrow__desc{
  max-height:0;opacity:0;margin-top:0;overflow:hidden;
  transition:max-height .45s ease,opacity .35s ease,margin-top .35s ease;
}
.dz-svcacc .dz-svcrow.is-active .dz-svcrow__desc{max-height:12em;opacity:1;margin-top:.65rem;}
.dz-svcacc .dz-svcrow__ico{transition:background-color .3s ease,color .3s ease;}
.dz-svcacc .dz-svcrow:not(.is-active) .dz-svcrow__title{color:var(--dz-ink);}
.dz-svcacc .dz-svcrow.is-active .dz-svcrow__title{color:var(--dz-blue-600);}
.dz-svcacc .dz-svcrow__arrow{transition:transform .3s ease,color .3s ease;}
.dz-svcacc .dz-svcrow.is-active .dz-svcrow__arrow{color:var(--dz-blue-500);transform:rotate(45deg);}

.dz-svcmedia{position:relative;width:100%;aspect-ratio:16/11;border-radius:20px;overflow:hidden;box-shadow:var(--dz-shadow-lg);background:var(--dz-surface-blue);}
.dz-svcmedia img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.06);
  transition:opacity .6s ease,transform 1.2s ease;
}
.dz-svcmedia img.is-active{opacity:1;transform:scale(1);}
@media (prefers-reduced-motion:reduce){
  .dz-svcacc .dz-svcrow__desc,.dz-svcmedia img,.dz-svcacc .dz-svcrow__arrow{transition:none;}
}
/* === end dz-svcacc === */

/* === PEDIGREE (dz-ped) =================================================== */
.e-con.dz-ped{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;}
.dz-ped-title .elementor-heading-title{font-size:clamp(2.4rem,4.6vw,4rem);line-height:1.05;letter-spacing:-.035em;color:var(--dz-navy-800);}
.dz-ped-accent{position:relative;display:inline-block;color:#1F4E79;padding-bottom:.08em;}
.dz-ped-accent::after{
  content:"";position:absolute;left:0;right:0;bottom:-.06em;height:.12em;border-radius:3px;
  background:#D3DEEA;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1) .3s;
}
.dz-ped.is-in .dz-ped-accent::after{transform:scaleX(1);}
.dz-ped-copy p{font-size:1.06rem;line-height:1.75;color:var(--dz-muted);max-width:56ch;margin:0 0 1.1rem;}
.dz-ped-copy p.dz-ped-lead{font-size:1.25rem;line-height:1.6;color:#6B7280;}

.dz-pedfeats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:.6rem;}
.dz-pedfeat{
  display:flex;gap:16px;align-items:flex-start;padding:20px;border:1px solid #E8EDF3;border-radius:14px;background:#fff;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.dz-pedfeat:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(11,34,56,.08);border-color:#D3DEEA;}
.dz-pedfeat__ico{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#E6EFFA;color:#1F4E79;transition:background-color .3s ease,color .3s ease;}
.dz-pedfeat:hover .dz-pedfeat__ico{background:#1F4E79;color:#fff;}
.dz-pedfeat strong{display:block;font-size:1.02rem;font-weight:700;color:var(--dz-navy-800);margin-bottom:.25rem;}
.dz-pedfeat small{display:block;font-size:.88rem;line-height:1.45;color:#6B7280;}

.dz-ped-btn .elementor-button{background-color:#0F2A44;border-radius:12px;padding:20px 38px;font-size:1.06rem;box-shadow:0 14px 30px rgba(15,42,68,.25);transition:transform .25s ease,box-shadow .25s ease,background-color .2s ease;}
.dz-ped-btn .elementor-button:hover{background-color:#1F4E79;transform:translateY(-3px);}
.dz-ped-btn .elementor-button-icon{transform:rotate(-45deg);transition:transform .25s ease;}
.dz-ped-btn .elementor-button:hover .elementor-button-icon{transform:translate(3px,-3px) rotate(-45deg);}

/* image card */
.dz-pedmedia{position:relative;padding:22px 0 0 0;}
.dz-pedmedia__frame{position:relative;border-radius:24px;overflow:hidden;background:#fff;border:8px solid #fff;box-shadow:0 30px 60px rgba(11,34,56,.16);aspect-ratio:4/4.3;}
.dz-pedmedia__img{width:100%;height:100%;object-fit:cover;border-radius:16px;transform-origin:60% 40%;animation:dz-kenburns 16s ease-in-out infinite alternate;}
.dz-pedmedia__badge{
  position:absolute;top:0;left:-34px;z-index:3;background:#1F4E79;color:#fff;border-radius:14px;padding:16px 26px;
  box-shadow:0 18px 34px rgba(31,78,121,.35);transform:rotate(-2deg);animation:dz-badge-float 5s ease-in-out infinite;
}
.dz-pedmedia__badge em{display:block;font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-bottom:.2rem;}
.dz-pedmedia__badge strong{display:block;font-size:1.65rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;}
.dz-pedmedia__stats{
  position:absolute;left:5%;right:5%;bottom:0;z-index:2;display:grid;grid-template-columns:1fr 1fr;
  background:rgba(255,255,255,.18);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.35);border-bottom:0;border-radius:18px 18px 0 0;padding:22px 30px;color:#fff;
  transform:translateY(100%);transition:transform .9s cubic-bezier(.2,.7,.2,1) .4s;
}
.dz-pedmedia__stats::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(15,42,68,.15),rgba(15,42,68,.45));z-index:-1;}
.dz-pedmedia__stats > div{padding-left:24px;}
.dz-pedmedia__stats > div:first-child{padding-left:0;border-right:1px solid rgba(255,255,255,.3);}
.dz-pedmedia__stats strong{display:block;font-size:2.3rem;font-weight:800;letter-spacing:-.02em;line-height:1;}
.dz-pedmedia__stats > div > span{display:block;margin-top:.5rem;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.8;}
.dz-pedmedia.is-in .dz-pedmedia__stats{transform:none;}

/* scroll reveal */
.dz-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease var(--d,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0s);}
.dz-reveal.is-in{opacity:1;transform:none;}

@keyframes dz-kenburns{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.12) translate(-2%,-2%);}}
@keyframes dz-badge-float{0%,100%{transform:rotate(-2deg) translateY(0);}50%{transform:rotate(-2deg) translateY(-8px);}}

@media (max-width:1024px){
  .e-con.dz-ped{grid-template-columns:1fr;gap:56px;}
  .dz-pedmedia{max-width:620px;margin-inline:auto;}
  .dz-pedmedia__badge{left:12px;}
}
@media (max-width:640px){
  .dz-pedfeats{grid-template-columns:1fr;}
  .dz-pedmedia__stats{padding:16px 20px;}
  .dz-pedmedia__stats strong{font-size:1.7rem;}
  .dz-pedmedia__badge strong{font-size:1.3rem;}
}
@media (prefers-reduced-motion:reduce){
  .dz-pedmedia__img,.dz-pedmedia__badge{animation:none;}
  .dz-reveal{opacity:1;transform:none;transition:none;}
  .dz-pedmedia__stats{transform:none;transition:none;}
  .dz-ped-accent::after{transform:scaleX(1);transition:none;}
}
.dz-pedmedia .dz-pedmedia__frame .dz-pedmedia__img{position:absolute;top:0;left:0;width:100%;height:100% !important;max-width:none;border-radius:16px;}
/* image transitions */
.dz-pedmedia__frame{aspect-ratio:760/646;}
.dz-pedmedia .dz-pedmedia__frame .dz-pedmedia__img{clip-path:inset(100% 0 0 0 round 16px);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1) .15s;}
.dz-pedmedia.is-in .dz-pedmedia__frame .dz-pedmedia__img{clip-path:inset(0 0 0 0 round 16px);}
.dz-pedmedia__sheen{position:absolute;top:0;left:-70%;width:45%;height:100%;z-index:2;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);
  animation:dz-ped-sheen 6s ease-in-out 2s infinite;}
@keyframes dz-ped-sheen{0%{left:-70%;}30%,100%{left:140%;}}
.dz-pedmedia__frame{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease;}
.dz-pedmedia:hover .dz-pedmedia__frame{transform:translateY(-6px);box-shadow:0 40px 70px rgba(11,34,56,.22);}
.dz-pedmedia:hover .dz-pedmedia__img{animation-play-state:paused;}
.dz-pedmedia__badge{opacity:0;transition:opacity .7s ease .9s;}
.dz-pedmedia.is-in .dz-pedmedia__badge{opacity:1;}
@media (prefers-reduced-motion:reduce){
  .dz-pedmedia .dz-pedmedia__frame .dz-pedmedia__img{clip-path:none;transition:none;}
  .dz-pedmedia__sheen{display:none;}
  .dz-pedmedia__badge{opacity:1;transition:none;}
}
/* bigger pedigree image */
@media (min-width:1025px){
  .e-con.dz-ped{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:56px;}
  .dz-pedmedia{margin-right:-48px;}
  .dz-pedmedia__frame{aspect-ratio:1/0.92;}
  .dz-pedmedia__badge{padding:18px 30px;}
  .dz-pedmedia__badge strong{font-size:1.9rem;}
  .dz-pedmedia__stats{padding:26px 36px;}
  .dz-pedmedia__stats strong{font-size:2.7rem;}
}
@media (min-width:1025px) and (max-width:1300px){.dz-pedmedia{margin-right:0;}}
@media (min-width:1025px){.dz-pedfeats{gap:14px;}.dz-pedfeat{padding:16px;gap:12px;}.dz-pedfeat__ico{width:40px;height:40px;}.dz-pedfeat strong{font-size:.98rem;white-space:nowrap;}}
/* narrower pedigree image, same height */
@media (min-width:1025px){
  .e-con.dz-ped{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;}
  .dz-pedmedia{margin-right:0;margin-left:auto;width:clamp(460px,39vw,560px);}
  .dz-pedmedia__frame{aspect-ratio:auto;height:clamp(540px,44vw,634px);}
  .dz-pedmedia__stats{padding:22px 26px;}
  .dz-pedmedia__stats strong{font-size:2.4rem;}
}
/* === end dz-ped === */

/* === TESTIMONIAL MARQUEE (dz-tmarquee) =================================== */
.dz-tmarquee{
  position:relative;width:100vw;max-width:100vw;margin-left:50%;transform:translateX(-50%);overflow:hidden;padding:18px 0 30px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);
}
.dz-tmarquee__track{display:flex;gap:26px;width:max-content;animation:dz-tscroll 38s linear infinite;will-change:transform;}
.dz-tmarquee:hover .dz-tmarquee__track,.dz-tmarquee:focus-within .dz-tmarquee__track{animation-play-state:paused;}
.dz-tmarquee .dz-testi{
  flex:none;width:clamp(300px,32vw,460px);text-align:left;margin:0;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .4s ease,background-color .4s ease,box-shadow .4s ease;
}
.dz-tmarquee .dz-testi:hover{
  transform:translateY(-8px);border-color:rgba(91,149,255,.65);background-color:rgba(21,94,239,.16);
  box-shadow:0 24px 50px rgba(0,0,0,.35),0 0 0 1px rgba(91,149,255,.25);
}
.dz-tmarquee .dz-stars{display:inline-block;}
.dz-tmarquee .dz-testi:hover .dz-stars{animation:dz-stars-pop .6s ease;}
@keyframes dz-tscroll{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 13px));}}
@keyframes dz-stars-pop{0%{transform:scale(1);}40%{transform:scale(1.18);}100%{transform:scale(1);}}
@media (max-width:767px){.dz-tmarquee__track{gap:16px;animation-duration:28s;}.dz-tmarquee .dz-testi{width:82vw;}}
@media (prefers-reduced-motion:reduce){
  .dz-tmarquee{width:auto;margin-left:0;transform:none;-webkit-mask-image:none;mask-image:none;opacity:1;}
  .dz-tmarquee__track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;}
  .dz-tmarquee .dz-testi[aria-hidden="true"]{display:none;}
}
/* === end dz-tmarquee === */

/* === TESTI CARD STYLE (dz-tcard) ========================================= */
.dz-tmarquee .dz-testi{
  position:relative;display:flex;flex-direction:column;min-height:390px;padding:40px 40px 34px;
  background:linear-gradient(160deg,rgba(17,27,45,.92) 0%,rgba(9,15,28,.96) 100%);
  border:1px solid rgba(255,255,255,.08);border-radius:28px;box-shadow:0 20px 40px rgba(0,0,0,.28);
  overflow:hidden;
}
.dz-tmarquee .dz-testi::before{
  content:"\201D";position:absolute;top:6px;right:34px;font-family:Georgia,'Times New Roman',serif;font-size:170px;line-height:1;
  color:rgba(255,255,255,.05);pointer-events:none;transition:color .4s ease,transform .4s ease;
}
.dz-tmarquee .dz-testi::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(420px 220px at 15% 0%,rgba(91,149,255,.10),transparent 70%);opacity:.8;
}
.dz-tmarquee .dz-testi > *{position:relative;z-index:1;}
.dz-tmarquee .dz-stars{font-size:1.45rem;letter-spacing:.14em;color:#F5B50A;line-height:1;margin-bottom:26px;text-shadow:0 0 14px rgba(245,181,10,.25);}
.dz-tmarquee .dz-testi p{
  font-size:1.08rem;line-height:1.75;font-style:italic;color:#C9D2DF;margin:0 0 28px;flex:1;
}
.dz-tmarquee .dz-testi__who{
  display:flex;align-items:center;gap:18px;margin-top:auto;padding-top:26px;border-top:1px solid rgba(255,255,255,.08);
}
.dz-tmarquee .dz-testi__av{
  flex:none;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;
  background:rgba(120,72,10,.35);border:1.5px solid rgba(214,150,40,.55);color:#F2B33D;
  font-size:1rem;font-weight:700;letter-spacing:.02em;
}
.dz-tmarquee .dz-testi__who strong{display:block;color:#fff;font-size:1.12rem;font-weight:700;margin-bottom:.2rem;}
.dz-tmarquee .dz-testi__who small{display:block;color:#22C7E8;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.dz-tmarquee .dz-testi:hover{
  transform:translateY(-8px);border-color:rgba(245,181,10,.35);
  background:linear-gradient(160deg,rgba(20,32,54,.96) 0%,rgba(10,17,32,.98) 100%);
  box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 0 1px rgba(245,181,10,.15);
}
.dz-tmarquee .dz-testi:hover::before{color:rgba(245,181,10,.12);transform:translateY(-4px);}
@media (max-width:767px){
  .dz-tmarquee .dz-testi{min-height:0;padding:30px 26px 26px;border-radius:22px;}
  .dz-tmarquee .dz-testi::before{font-size:120px;right:20px;}
  .dz-tmarquee .dz-testi p{font-size:1rem;}
}
/* === end dz-tcard === */

/* === TESTI COMPACT + DARK (dz-tcompact) =================================== */
.e-con.dz-testi-dark{
  background-color:#060B17 !important;
  background-image:radial-gradient(900px 420px at 50% 0%,rgba(34,199,232,.07),transparent 70%),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) !important;
  background-size:auto,64px 64px,64px 64px !important;
}
.dz-testi-dark .dz-pill--dark{color:#22C7E8;border-color:rgba(34,199,232,.35);background:rgba(34,199,232,.06);border-radius:6px;font-weight:700;}
.dz-testi-dark .dz-a-light{background:linear-gradient(90deg,#22C7E8 0%,#3B82F6 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.dz-testi-dark .dz-lead{color:#8B98AD;}
.dz-tmarquee .dz-testi{width:clamp(290px,28vw,400px);min-height:330px;padding:34px 34px 30px;border-radius:24px;
  background:linear-gradient(160deg,rgba(14,22,38,.95) 0%,rgba(8,13,25,.98) 100%);}
.dz-tmarquee .dz-testi::before{font-size:130px;right:26px;top:4px;color:rgba(255,255,255,.04);}
.dz-tmarquee .dz-stars{font-size:1.25rem;margin-bottom:20px;}
.dz-tmarquee .dz-testi p{font-size:.98rem;line-height:1.72;margin-bottom:22px;}
.dz-tmarquee .dz-testi__who{gap:16px;padding-top:22px;}
.dz-tmarquee .dz-testi__av{width:46px;height:46px;font-size:.95rem;}
.dz-tmarquee .dz-testi__who strong{font-size:1.02rem;}
.dz-tmarquee .dz-testi__who small{font-size:.7rem;}
.dz-tmarquee__track{gap:22px;}
@keyframes dz-tscroll{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 11px));}}
/* avatar colours */
.dz-tmarquee .dz-av--gold{background:rgba(120,72,10,.35);border-color:rgba(214,150,40,.55);color:#F2B33D;}
.dz-tmarquee .dz-av--blue{background:rgba(37,99,235,.18);border-color:rgba(59,130,246,.55);color:#60A5FA;}
.dz-tmarquee .dz-av--purple{background:rgba(124,58,237,.18);border-color:rgba(139,92,246,.55);color:#A78BFA;}
.dz-tmarquee .dz-av--teal{background:rgba(13,148,136,.18);border-color:rgba(34,199,232,.5);color:#22C7E8;}
/* cyan hover highlight */
.dz-tmarquee .dz-testi:hover{border-color:rgba(34,199,232,.75);
  box-shadow:0 0 0 1px rgba(34,199,232,.25),0 18px 50px rgba(34,199,232,.14),0 30px 60px rgba(0,0,0,.45);}
.dz-tmarquee .dz-testi:hover::before{color:rgba(34,199,232,.10);}
@media (max-width:767px){.dz-tmarquee .dz-testi{width:84vw;min-height:0;padding:28px 24px 24px;}}
/* === end dz-tcompact === */