/* Dhaka Clicks Site Engine — ported from the original static design.
   Apply these as CSS Classes (Elementor Advanced tab) on containers/widgets. */

:root{
  --dc-bg:#0a0a0b;
  --dc-bg-soft:#111114;
  --dc-text:#f4f3ee;
  --dc-muted:#8c8c92;
  --dc-line:rgba(244,243,238,0.12);
  --dc-accent:#e63946;
  --dc-accent-rgb:230,57,70;
  --dc-ease:cubic-bezier(.16,1,.3,1);
}

/* Hostinger AI theme auto-renders a page-title block above the Elementor canvas on every page; our Elementor layouts already include their own hero heading, so hide the theme's duplicate. */
.hostinger-ai-page-title, .wp-block-post-title{display:none !important;}

/* ---------------- reveal on scroll ---------------- */
.dc-reveal{opacity:0; transform:translateY(36px); transition:opacity .9s var(--dc-ease), transform .9s var(--dc-ease);}
.dc-reveal.dc-in{opacity:1; transform:translateY(0);}
.dc-reveal-scale{opacity:0; transform:scale(.92); transition:opacity 1s var(--dc-ease), transform 1s var(--dc-ease);}
.dc-reveal-scale.dc-in{opacity:1; transform:scale(1);}

/* ---------------- work-card parallax ---------------- */
.dc-parallax-wrap{position:relative; overflow:hidden;}
.dc-parallax{position:absolute; left:0; top:-9%; width:100%; height:118%; will-change:transform;}

/* ---------------- custom cursor ---------------- */
body.dc-has-cursor{cursor:none;}
body.dc-has-cursor a, body.dc-has-cursor button{cursor:none;}
.dc-cursor-dot, .dc-cursor-ring{
  position:fixed; top:0; left:0; pointer-events:none; z-index:9999;
  border-radius:50%; transform:translate(-50%,-50%);
}
.dc-cursor-dot{width:6px; height:6px; background:var(--dc-accent);}
.dc-cursor-ring{
  width:38px; height:38px; border:1px solid rgba(244,243,238,0.5);
  transition:width .25s var(--dc-ease), height .25s var(--dc-ease), border-color .25s var(--dc-ease), background .25s var(--dc-ease), opacity .25s var(--dc-ease);
}
.dc-cursor-ring.dc-is-active{
  width:74px; height:74px; background:rgba(var(--dc-accent-rgb),0.08); border-color:var(--dc-accent);
}
@media (max-width:900px){
  .dc-cursor-dot,.dc-cursor-ring{display:none;}
}

/* ---------------- header logo intro (freeze-frame) ---------------- */
.dc-nav-logo{display:flex !important; flex-direction:row !important; align-items:center !important; gap:16px; font-family:"Syne",sans-serif; font-weight:800; font-size:20px; height:48px !important; max-height:48px !important;}
.dc-header-bar, .dc-header-bar > .e-con{align-items:center !important;}
.dc-header-bar > .e-con{height:auto !important; min-height:0 !important; max-height:48px !important; align-items:center !important;}
.dc-header-bar > .e-con .e-con{height:auto !important; min-height:0 !important; max-height:48px !important;}

/* ---------------- nav menu (UAE navigation-menu widget) ---------------- */
.dc-header-bar .hfe-nav-menu-layout, .dc-header-bar .hfe-nav-menu-layout .hfe-nav-menu__layout-horizontal{flex-direction:row !important; height:auto !important; min-height:0 !important;}
.dc-header-bar .hfe-nav-menu{display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important; gap:34px !important; list-style:none !important; margin:0 !important; padding:0 !important; flex-wrap:nowrap !important; height:auto !important; min-height:0 !important;}
.dc-header-bar .hfe-nav-menu > .menu-item{position:relative !important;}
.dc-header-bar .hfe-menu-item{
  font-size:13.5px !important; font-weight:700 !important; letter-spacing:.07em !important; text-transform:uppercase !important;
  color:var(--dc-text) !important; position:relative !important; padding:4px 0 !important; display:inline-flex !important; align-items:center !important;
  transition:color .3s var(--dc-ease) !important; background:none !important; background-color:transparent !important;
}
.dc-header-bar .hfe-menu-item::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--dc-accent);
  transition:width .35s var(--dc-ease);
}
.dc-header-bar .menu-item.current-menu-item > a.hfe-menu-item, .dc-header-bar .menu-item.current-menu-item > div .hfe-menu-item, .dc-header-bar .hfe-menu-item:hover{color:var(--dc-accent) !important;}
.dc-header-bar .menu-item.current-menu-item > a.hfe-menu-item::after, .dc-header-bar .hfe-menu-item:hover::after{width:100% !important;}
.dc-header-bar .hfe-menu-toggle{font-size:10px !important; margin-left:7px !important; display:inline-flex !important;}
.dc-header-bar .hfe-menu-toggle i{color:inherit !important;}
.dc-header-bar .sub-menu{
  position:absolute !important; top:calc(100% + 20px) !important; left:50% !important;
  min-width:250px !important; background:rgba(16,16,19,0.97) !important; backdrop-filter:blur(16px) !important;
  border:1px solid var(--dc-line) !important; border-radius:16px !important; padding:10px !important;
  display:flex !important; flex-direction:column !important; gap:2px !important;
  list-style:none !important; margin:0 !important; z-index:50 !important;
  transform:translate(-50%,-8px) !important;
  transition:opacity .3s var(--dc-ease), transform .3s var(--dc-ease), visibility .3s !important;
}
.dc-header-bar .menu-item.hfe-has-submenu:hover .sub-menu, .dc-header-bar .menu-item.hfe-has-submenu:focus-within .sub-menu{
  opacity:1 !important; visibility:visible !important; pointer-events:auto !important; transform:translate(-50%,0) !important;
}
.dc-header-bar .hfe-sub-menu-item{
  font-size:13.5px !important; font-weight:500 !important; text-transform:none !important; letter-spacing:normal !important;
  color:var(--dc-muted) !important; padding:11px 14px !important; border-radius:9px !important; display:block !important;
  transition:background .25s var(--dc-ease), color .25s var(--dc-ease) !important;
}
.dc-header-bar .hfe-sub-menu-item::after{content:none !important;}
.dc-header-bar .hfe-sub-menu-item:hover{background:rgba(244,243,238,0.06) !important; color:var(--dc-text) !important;}

/* ---------------- nav CTA button ---------------- */
#dcNavCta{display:inline-flex !important;}
#dcNavCta .elementor-button{
  display:inline-flex !important; align-items:center !important; gap:8px !important; white-space:nowrap !important;
  background:transparent !important; background-color:transparent !important; border:1.5px solid var(--dc-accent) !important; color:var(--dc-accent) !important;
  border-radius:100px !important; padding:10px 20px !important; font-size:13px !important; font-weight:700 !important;
  letter-spacing:.04em !important; text-transform:uppercase !important; transition:background .3s var(--dc-ease), color .3s var(--dc-ease) !important;
}
#dcNavCta .elementor-button:hover{background:var(--dc-accent) !important; color:#0a0a0b !important;}
.dc-logo-frame{
  height:48px !important; width:80px !important; min-width:80px !important; max-width:80px !important; min-height:48px !important; max-height:48px !important;
  overflow:hidden !important; display:block !important; position:relative !important; flex-shrink:0 !important; flex-grow:0 !important;
  transition:height .4s var(--dc-ease), width .4s var(--dc-ease);
}
[data-aos]#dcLogoDivider.dc-logo-divider{
  width:1px !important; min-width:1px !important; max-width:1px !important; height:22px !important; min-height:22px !important; background:var(--dc-line) !important;
  flex:0 0 1px !important; flex-shrink:0 !important; flex-grow:0 !important; flex-basis:1px !important;
  opacity:1 !important; transform:none !important;
}
.dc-logo-text{
  font-family:"Syne",sans-serif; font-weight:700; font-size:13px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--dc-text);
  white-space:nowrap; flex-shrink:0;
  opacity:0; transform:translateX(-8px);
  transition:opacity .6s var(--dc-ease) .1s, transform .6s var(--dc-ease) .1s;
}
.dc-logo-text.dc-is-shown{opacity:1; transform:translateX(0);}
.dc-logo-text .elementor-heading-title{white-space:nowrap !important;}
#dcLogoText .elementor-heading-title{color:var(--dc-text) !important; font:inherit; letter-spacing:inherit; text-transform:inherit;}
@media (max-width:520px){
  .dc-logo-text{display:none;}
  .dc-logo-divider{display:none;}
}
.dc-logo-video{position:relative !important; display:block !important; width:100% !important; height:100% !important; overflow:hidden !important;}
.dc-logo-video .e-hosted-video, .dc-logo-video .elementor-wrapper{position:relative !important; display:block !important; width:100% !important; height:100% !important; overflow:hidden !important;}
.dc-logo-video video.elementor-video, .dc-logo-freeze{
  position:absolute !important; top:50% !important; left:50% !important; height:100% !important; width:100% !important;
  object-fit:cover !important;
  transform:translate(-50%,-50%) scale(1.4) !important;
  transform-origin:center center !important;
  display:block !important;
  opacity:1 !important; visibility:visible !important;
  max-width:none !important;
}
.dc-logo-freeze{display:none !important;}
.dc-logo-freeze.dc-is-shown{display:block !important;}
.dc-logo-video video.elementor-video.dc-is-frozen{display:none !important;}

/* ---------------- partner logo marquee ---------------- */
.dc-marquee-wrap{
  padding:40px 0 8px;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.dc-marquee-row{
  display:flex; gap:48px; align-items:center;
  width:max-content;
  animation:dcLogoScrollLeft 34s linear infinite;
}
.dc-marquee-row.dc-reverse{animation:dcLogoScrollRight 30s linear infinite;}
.dc-marquee-row img{height:34px; width:auto; max-width:150px; object-fit:contain; border-radius:6px;}
.dc-marquee-row span{
  font-family:"Syne",sans-serif; font-weight:700; font-size:20px; letter-spacing:.04em;
  color:rgba(244,243,238,0.55); white-space:nowrap; text-transform:uppercase;
}
@keyframes dcLogoScrollLeft{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@keyframes dcLogoScrollRight{from{transform:translateX(-50%);} to{transform:translateX(0);}}
.dc-marquee-row img, .dc-marquee-row span{
  animation-duration:.6s; animation-timing-function:var(--dc-ease); animation-fill-mode:backwards; animation-play-state:paused;
  --dc-pop-opacity:.92;
}
.dc-marquee-row img:nth-child(3n+1), .dc-marquee-row span:nth-child(3n+1){ animation-name:dcLogoPopInTop; }
.dc-marquee-row img:nth-child(3n+2), .dc-marquee-row span:nth-child(3n+2){ animation-name:dcLogoPopInSideL; }
.dc-marquee-row img:nth-child(3n), .dc-marquee-row span:nth-child(3n){ animation-name:dcLogoPopInSideR; }
.dc-marquee-row img:nth-child(9n+1), .dc-marquee-row span:nth-child(9n+1){ animation-delay:.03s; }
.dc-marquee-row img:nth-child(9n+2), .dc-marquee-row span:nth-child(9n+2){ animation-delay:.09s; }
.dc-marquee-row img:nth-child(9n+3), .dc-marquee-row span:nth-child(9n+3){ animation-delay:.15s; }
.dc-marquee-row img:nth-child(9n+4), .dc-marquee-row span:nth-child(9n+4){ animation-delay:.21s; }
.dc-marquee-row img:nth-child(9n+5), .dc-marquee-row span:nth-child(9n+5){ animation-delay:.27s; }
.dc-marquee-row img:nth-child(9n+6), .dc-marquee-row span:nth-child(9n+6){ animation-delay:.33s; }
.dc-marquee-row img:nth-child(9n+7), .dc-marquee-row span:nth-child(9n+7){ animation-delay:.39s; }
.dc-marquee-row img:nth-child(9n+8), .dc-marquee-row span:nth-child(9n+8){ animation-delay:.45s; }
.dc-marquee-row img:nth-child(9n+9), .dc-marquee-row span:nth-child(9n+9){ animation-delay:.51s; }
.dc-marquee-wrap.dc-in .dc-marquee-row img, .dc-marquee-wrap.dc-in .dc-marquee-row span{ animation-play-state:running; }
@keyframes dcLogoPopInTop{from{opacity:0; transform:translateY(-28px) scale(.82);} to{opacity:var(--dc-pop-opacity,1); transform:translateY(0) scale(1);}}
@keyframes dcLogoPopInSideL{from{opacity:0; transform:translateX(-28px) scale(.82);} to{opacity:var(--dc-pop-opacity,1); transform:translateX(0) scale(1);}}
@keyframes dcLogoPopInSideR{from{opacity:0; transform:translateX(28px) scale(.82);} to{opacity:var(--dc-pop-opacity,1); transform:translateX(0) scale(1);}}

/* ---------------- expertise carousel ---------------- */
.dc-expertise-section{padding:150px 22px !important; max-width:1180px; margin:0 auto !important;}
.dc-section-tag .elementor-heading-title{color:var(--dc-accent) !important; font-size:13px !important; font-weight:700 !important; letter-spacing:.1em; text-transform:uppercase;}
.dc-section-heading .elementor-heading-title{font-family:"Syne",sans-serif !important; font-size:clamp(1.8rem,3.2vw,2.6rem) !important; color:var(--dc-text) !important; margin-top:12px !important; max-width:720px;}
.dc-section-sub .elementor-widget-container{color:var(--dc-muted) !important; font-size:15px !important; margin-top:16px !important; max-width:640px;}
#dcCarouselTrack{display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; gap:22px !important; overflow-x:auto !important; overflow-y:hidden !important; padding:6px 6px 18px !important; margin-top:50px !important; cursor:grab; scrollbar-width:none; max-width:100%;}
#dcCarouselTrack::-webkit-scrollbar{display:none;}
.dc-expertise-card{flex-grow:0 !important; flex-shrink:0 !important; flex-basis:300px !important; width:300px !important; border-radius:22px !important; overflow:hidden !important; background:var(--dc-bg-soft) !important; border:1px solid var(--dc-line) !important;}
.dc-ec-image{position:relative !important; aspect-ratio:4/3 !important; overflow:hidden;}
.dc-ec-image img{width:100% !important; height:100% !important; object-fit:cover !important;}
.dc-ec-num .elementor-heading-title{position:absolute !important; top:16px; right:18px; z-index:2; font-family:"Syne",sans-serif !important; font-weight:700 !important; font-size:13px !important; color:rgba(255,255,255,0.85) !important;}
.dc-ec-icon{position:absolute !important; left:16px !important; bottom:14px !important; z-index:2; color:#fff !important; font-size:28px !important; filter:drop-shadow(0 2px 8px rgba(0,0,0,0.35));}
.dc-ec-body{padding:24px 26px 28px !important;}
.dc-ec-title .elementor-heading-title{font-family:"Syne",sans-serif !important; font-size:21px !important; color:var(--dc-text) !important;}
.dc-ec-desc .elementor-widget-container{color:var(--dc-muted) !important; font-size:13.5px !important; line-height:1.65 !important; margin-top:12px !important;}
.dc-ec-more .elementor-heading-title{color:var(--dc-accent) !important; font-size:13.5px !important; font-weight:700 !important; margin-top:16px !important;}

/* ---------------- work portfolio grid ---------------- */
.dc-work-portfolio{padding:150px 22px 160px !important; max-width:1180px; margin:0 auto !important;}
.dc-work-grid{display:grid !important; grid-template-columns:repeat(3, 1fr) !important; gap:32px !important;}
@media (max-width:900px){ .dc-work-grid{grid-template-columns:repeat(2, 1fr) !important;} }
@media (max-width:600px){ .dc-work-grid{grid-template-columns:1fr !important;} }
.dc-work-card-img{position:relative !important; aspect-ratio:10/11 !important; border-radius:20px !important; overflow:hidden !important; background:var(--dc-bg-soft);}
.dc-work-card-img .dc-parallax{position:absolute !important; left:0; top:-9%; width:100%; height:118% !important;}
.dc-work-card-img .dc-parallax img, .dc-work-card-img .dc-parallax video, .dc-work-card-img .dc-parallax .elementor-widget-container{width:100% !important; height:100% !important; object-fit:cover !important;}
.dc-work-title .elementor-heading-title{font-family:"Syne",sans-serif !important; font-size:21px !important; font-weight:700 !important; color:var(--dc-text) !important; margin-top:22px !important;}
.dc-work-title a{color:inherit !important;}
.dc-work-tags .elementor-heading-title{color:var(--dc-muted) !important; font-size:13px !important; font-weight:400 !important; margin-top:22px !important;}

/* ---------------- floating pill header bar ---------------- */
.dc-header-bar{
  position:fixed !important; top:20px; left:50%; z-index:500;
  transform:translateX(-50%);
  width:min(1140px, calc(100% - 32px)) !important;
  background:rgba(17,17,20,0.85) !important;
  backdrop-filter:blur(18px);
  border:1px solid var(--dc-line);
  border-radius:100px !important;
  box-shadow:0 16px 40px -8px rgba(0,0,0,0.45);
  transition:padding .4s var(--dc-ease), top .4s var(--dc-ease), box-shadow .4s var(--dc-ease);
}
.dc-header-bar.dc-scrolled{ top:12px; box-shadow:0 20px 44px -6px rgba(0,0,0,0.55); }
.dc-header-bar.dc-scrolled .dc-logo-frame{height:38px !important; width:64px !important; min-width:64px !important; max-width:64px !important; min-height:38px !important; max-height:38px !important;}
.dc-header-bar.dc-scrolled [data-aos]#dcLogoDivider.dc-logo-divider{height:17px !important; min-height:17px !important; max-height:17px !important;}
.dc-header-bar [data-aos]{opacity:1 !important; transform:none !important; animation:none !important; transition:none !important;}
[data-aos].dc-header-bar, [data-aos]#dcSiteNav{opacity:1 !important; transform:translateX(-50%) !important; animation:none !important;}
body{ padding-top:110px; }

/* ---------------- shared inner-page sections ---------------- */
.dc-content-section{padding:60px 22px !important; max-width:1180px; margin:0 auto !important;}
.dc-hero-cta{margin-top:28px !important; display:flex !important; gap:16px !important; flex-wrap:wrap;}
#dcCtaPrimary .elementor-button, .dc-btn .elementor-button{background:var(--dc-accent) !important; color:#0a0a0b !important; font-weight:700 !important; font-size:14px !important; padding:16px 30px !important; border-radius:100px !important;}
.dc-btn-outline .elementor-button{background:none !important; border:1px solid var(--dc-line) !important; color:var(--dc-text) !important; font-weight:600 !important; padding:16px 30px !important; border-radius:100px !important;}
.dc-overview .elementor-widget-container{color:var(--dc-muted) !important; font-size:15px !important; line-height:1.75 !important; margin-top:14px !important; max-width:820px;}
.dc-wwd-grid{display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:20px !important; margin-top:36px !important;}
@media (max-width:900px){.dc-wwd-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:600px){.dc-wwd-grid{grid-template-columns:1fr !important;}}
.dc-wwd-card{border:1px solid var(--dc-line) !important; border-radius:20px !important; padding:30px 26px !important; background:var(--dc-bg-soft) !important;}
.dc-wwd-icon{font-size:26px !important; color:var(--dc-accent) !important; margin-bottom:16px !important;}
.dc-wwd-icon.elementor-widget-icon .elementor-icon{color:var(--dc-accent) !important; font-size:26px !important;}
.dc-wwd-icon.elementor-widget-icon .elementor-icon svg{fill:var(--dc-accent) !important; width:26px !important; height:26px !important;}
.dc-wwd-title .elementor-heading-title{font-size:18.5px !important; color:var(--dc-text) !important; margin-bottom:10px !important;}
.dc-wwd-desc .elementor-widget-container{color:var(--dc-muted) !important; font-size:14px !important; line-height:1.7 !important;}
.dc-cta-band{background:var(--dc-bg-soft) !important; border-radius:24px !important; padding:64px 48px !important; text-align:center !important;}
.dc-cta-band .dc-cta-title .elementor-heading-title{font-family:"Syne",sans-serif !important; font-size:clamp(1.6rem,3vw,2.2rem) !important; color:var(--dc-text) !important;}
.dc-cta-band .dc-cta-sub .elementor-widget-container{color:var(--dc-muted) !important; font-size:15px !important; margin-top:12px !important;}
.dc-cta-band .dc-btn{margin-top:24px !important; display:inline-block !important;}
.dc-section-tag-sm .elementor-heading-title{color:var(--dc-accent) !important; font-size:12.5px !important; font-weight:700 !important; letter-spacing:.1em; text-transform:uppercase;}
.dc-h2 .elementor-heading-title{font-family:"Syne",sans-serif !important; font-size:clamp(1.6rem,2.8vw,2.2rem) !important; color:var(--dc-text) !important; margin-top:10px !important;}

/* ---------------- our approach page ---------------- */
.dc-section-lead .elementor-widget-container{color:var(--dc-muted) !important; font-size:15px !important; margin-top:14px !important; max-width:700px;}

.dc-process-list{display:flex !important; flex-direction:column !important; border-top:1px solid var(--dc-line) !important; margin-top:20px !important;}
.dc-process-step{border-bottom:1px solid var(--dc-line) !important; padding:32px 0 !important; transition:padding-left .3s var(--dc-ease) !important;}
.dc-process-step:hover{padding-left:12px !important;}
.dc-process-num .elementor-heading-title{font-family:"Syne",sans-serif !important; font-weight:700 !important; font-size:15px !important; color:var(--dc-accent) !important; padding-top:4px !important;}
.dc-process-title .elementor-heading-title{font-size:23px !important; margin-bottom:12px !important;}
.dc-process-desc .elementor-widget-container{color:var(--dc-muted) !important; font-size:15px !important; line-height:1.75 !important; max-width:660px;}
@media (max-width:700px){.dc-process-step{flex-direction:column !important; gap:10px !important;}}

.dc-principles-grid{display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:20px !important; margin-top:36px !important;}
@media (max-width:900px){.dc-principles-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:600px){.dc-principles-grid{grid-template-columns:1fr !important;}}

.dc-stats-row{display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:24px !important; border-top:1px solid var(--dc-line) !important; padding-top:36px !important;}
@media (max-width:760px){.dc-stats-row{grid-template-columns:repeat(2,1fr) !important;}}
.dc-stat-num .elementor-heading-title{font-family:"Syne",sans-serif !important; font-weight:700 !important; font-size:clamp(2rem,4vw,2.8rem) !important; color:var(--dc-accent) !important;}
.dc-stat-label .elementor-heading-title{color:var(--dc-muted) !important; font-size:13.5px !important; margin-top:8px !important; line-height:1.5 !important;}

/* ---------------- contact page ---------------- */
.dc-contact-info{display:flex !important; flex-direction:column !important; gap:18px !important; margin-top:8px !important;}
.dc-contact-info-item{display:flex !important; align-items:center !important; gap:14px !important;}
.dc-contact-info-icon{width:40px !important; height:40px !important; border-radius:50% !important; border:1px solid var(--dc-line) !important; display:flex !important; align-items:center !important; justify-content:center !important; color:var(--dc-text) !important; flex-shrink:0;}
.dc-contact-info-label .elementor-heading-title{color:var(--dc-muted) !important; font-size:11px !important; font-weight:700 !important; text-transform:uppercase; letter-spacing:.08em; display:block;}
.dc-contact-info-value .elementor-heading-title{color:var(--dc-text) !important; font-size:15px !important; font-weight:600 !important;}
.dc-contact-info-value .elementor-heading-title a{color:var(--dc-text) !important;}
.dc-contact-info-value .elementor-heading-title a:hover{color:var(--dc-accent) !important;}

.dc-contact-socials{margin-top:24px !important;}
.dc-contact-socials .elementor-icon{background-color:transparent !important; border:1px solid var(--dc-line) !important; color:var(--dc-text) !important; width:40px !important; height:40px !important; border-radius:50% !important;}
.dc-contact-socials .elementor-icon:hover{border-color:var(--dc-accent) !important; color:var(--dc-accent) !important;}

.dc-form-section{padding:90px 22px 110px !important; max-width:820px; margin:0 auto !important;}
.dc-form-head{text-align:center !important; max-width:600px; margin:0 auto 50px !important;}
.dc-form-head .dc-section-tag-sm{justify-content:center !important; display:flex !important;}
.dc-form-head .dc-h2 .elementor-heading-title{margin-top:10px !important;}
.dc-form-head .dc-form-sub .elementor-widget-container{color:var(--dc-muted) !important; font-size:15px !important; margin-top:14px !important;}

.dc-cf-form{background:var(--dc-bg-soft) !important; border:1px solid var(--dc-line) !important; border-radius:24px !important; padding:44px !important;}
@media (max-width:600px){.dc-cf-form{padding:28px !important;}}
.dc-cf-grid{display:grid !important; grid-template-columns:1fr 1fr !important; gap:22px !important;}
@media (max-width:640px){.dc-cf-grid{grid-template-columns:1fr !important;}}
.dc-cf-row{display:flex !important; flex-direction:column !important; gap:9px !important; margin:0 !important;}
.dc-cf-row-full{grid-column:1 / -1 !important;}
.dc-cf-row label{font-size:12px !important; font-weight:700 !important; letter-spacing:.08em; text-transform:uppercase; color:var(--dc-muted) !important;}
.dc-cf-form .wpcf7-form-control{
  background:var(--dc-bg) !important; border:1px solid var(--dc-line) !important; border-radius:10px !important;
  padding:13px 16px !important; color:var(--dc-text) !important; font-size:14.5px !important; font-family:inherit !important; width:100% !important;
}
input.wpcf7-form-control::placeholder, textarea.wpcf7-form-control::placeholder{color:rgba(244,243,238,0.35) !important;}
.dc-cf-form .wpcf7-form-control:focus{outline:none !important; border-color:var(--dc-accent) !important;}
.dc-cf-form select.wpcf7-form-control{appearance:none !important;}
.dc-cf-form textarea.wpcf7-form-control{resize:vertical !important;}
.dc-cf-form .wpcf7-submit{
  margin-top:28px !important; background:var(--dc-accent) !important; color:#0a0a0b !important; font-weight:700 !important;
  font-size:14px !important; padding:16px 30px !important; border-radius:100px !important; border:none !important; cursor:pointer !important;
}
.dc-cf-form .wpcf7-submit:hover{transform:translateY(-2px);}
.dc-cf-form .wpcf7-spinner{display:none !important;}
.dc-cf-form .wpcf7-response-output{margin-top:16px !important; border-radius:10px !important; font-size:13.5px !important;}

/* ---------------- case study pages ---------------- */
.dc-case-back .elementor-heading-title{color:var(--dc-muted) !important; font-size:13.5px !important; font-weight:600 !important; margin-bottom:6px !important;}
.dc-case-back:hover .elementor-heading-title{color:var(--dc-text) !important;}

.dc-case-banner{padding:0 22px 0 !important; max-width:1180px; margin:0 auto !important;}
.dc-case-banner-media{border-radius:24px !important; overflow:hidden !important; aspect-ratio:16/8 !important;}
.dc-case-banner-media img, .dc-case-banner-media video{width:100% !important; height:100% !important; object-fit:cover !important; display:block !important;}

.dc-case-meta{border-left:1px solid var(--dc-line) !important; padding-left:28px !important; display:flex !important; flex-direction:column !important; gap:20px !important;}
.dc-case-meta .elementor-widget-container{display:flex !important; flex-direction:column !important; gap:4px !important;}
.dc-case-meta-label{color:var(--dc-muted) !important; font-size:12px !important; font-weight:700 !important; text-transform:uppercase; letter-spacing:.08em; display:block;}
.dc-case-meta-value{color:var(--dc-text) !important; font-size:14.5px !important; font-weight:600 !important; display:block;}
.dc-case-meta-value a{color:var(--dc-accent) !important;}
@media (max-width:900px){.dc-case-meta{border-left:none !important; border-top:1px solid var(--dc-line) !important; padding-left:0 !important; padding-top:24px !important; flex-direction:row !important; flex-wrap:wrap !important;}}

.dc-case-intro .elementor-widget-container{color:var(--dc-muted) !important; font-size:15px !important; line-height:1.75 !important; margin-top:14px !important;}

.dc-case-approach-grid{display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:30px !important; margin-top:36px !important;}
@media (max-width:900px){.dc-case-approach-grid{grid-template-columns:1fr !important;}}
.dc-case-approach-col{padding-top:22px !important; border-top:1px solid var(--dc-line) !important;}
.dc-case-approach-col .dc-wwd-title .elementor-heading-title{font-size:19px !important;}

.dc-case-gallery{display:grid !important; grid-template-columns:1.3fr 1fr !important; gap:24px !important;}
@media (max-width:760px){.dc-case-gallery{grid-template-columns:1fr !important;}}
.dc-case-gallery-img{border-radius:20px !important; overflow:hidden !important; aspect-ratio:4/3 !important;}
.dc-case-gallery-img img, .dc-case-gallery-img video{width:100% !important; height:100% !important; object-fit:cover !important; display:block !important;}

.dc-outcome-text .elementor-widget-container{color:var(--dc-muted) !important; font-size:15px !important; margin-top:12px !important; max-width:640px;}
.dc-case-nav-row{display:flex !important; justify-content:space-between !important; flex-wrap:wrap !important; gap:14px !important; margin-top:28px !important; padding-top:24px !important; border-top:1px solid var(--dc-line) !important;}
.dc-case-nav-row .elementor-heading-title{font-size:14px !important; font-weight:600 !important; color:var(--dc-text) !important;}
.dc-case-nav-row .elementor-heading-title a{color:inherit !important;}
.dc-case-nav-row .elementor-widget-heading:hover .elementor-heading-title{color:var(--dc-accent) !important;}

.dc-cta-actions{display:flex !important; gap:16px !important; justify-content:center !important; flex-wrap:wrap !important; margin-top:28px !important;}

/* ---------------- inner-page hero (reused across all pages) ---------------- */
.dc-page-hero{padding:150px 22px 60px !important; max-width:1180px; margin:0 auto !important;}
.dc-page-eyebrow .elementor-heading-title{display:flex; align-items:center; gap:10px; color:var(--dc-accent) !important; font-size:13px !important; font-weight:700 !important; letter-spacing:.14em; text-transform:uppercase;}
.dc-page-eyebrow .elementor-heading-title::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--dc-accent); flex-shrink:0; display:inline-block; margin-right:10px;}
.dc-page-h1 .elementor-heading-title{font-family:"Syne",sans-serif !important; font-size:clamp(2.4rem,5.2vw,4.2rem) !important; color:var(--dc-text) !important; max-width:820px; margin-top:12px !important;}
.dc-page-lead .elementor-widget-container{color:var(--dc-muted) !important; font-size:16px !important; max-width:620px; margin-top:22px !important;}

/* ---------------- hero ---------------- */
body{background:var(--dc-bg) !important; color:var(--dc-text);}
.dc-hero{min-height:100vh; display:flex !important; flex-direction:column !important; justify-content:center !important; position:relative; padding-top:120px !important; overflow:hidden;}
.dc-hero-orb{position:absolute !important; top:-15%; right:-10%; width:60vw; height:60vw; max-width:900px; max-height:900px; background:radial-gradient(circle at 50% 50%, rgba(230,57,70,.32), rgba(230,57,70,0) 70%); filter:blur(70px); z-index:0; pointer-events:none;}
.dc-hero-eyebrow{display:flex !important; align-items:center; gap:10px; margin-bottom:26px !important;}
.dc-hero-eyebrow .elementor-heading-title{color:var(--dc-muted) !important; font-size:13px !important; font-weight:600 !important; letter-spacing:.12em; text-transform:uppercase; display:flex; align-items:center; gap:10px;}
.dc-hero-eyebrow .elementor-heading-title::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--dc-accent); flex-shrink:0;}
.dc-hero-line .elementor-heading-title{font-family:"Syne",sans-serif !important; font-size:clamp(2.8rem, 8.4vw, 8rem) !important; text-transform:uppercase !important; line-height:1.05 !important; font-weight:700 !important; color:var(--dc-text) !important;}
.dc-hero-line-outline .elementor-heading-title{color:transparent !important; -webkit-text-stroke:1px var(--dc-text);}
.dc-hero-sub .elementor-widget-container{color:var(--dc-muted) !important; font-size:17px !important; line-height:1.7 !important; max-width:640px; margin-top:34px !important;}
#dcHeroBtn .elementor-button{background:var(--dc-accent) !important; color:#0a0a0b !important; font-weight:700 !important; font-size:14px !important; padding:16px 30px !important; border-radius:100px !important;}

/* ---------------- footer ---------------- */
.dc-footer-wrap{border-top:1px solid var(--dc-line); padding:60px 22px 34px !important; max-width:1140px; margin:0 auto !important;}
.dc-footer-links{display:flex !important; flex-wrap:wrap !important; gap:12px 28px !important; justify-content:flex-start !important;}
.dc-footer-links a{font-size:14px !important; font-weight:700 !important; color:var(--dc-text) !important; white-space:nowrap;}
.dc-footer-links a:hover{color:var(--dc-accent) !important;}
.dc-footer-social{justify-content:flex-end !important;}
.dc-footer-social .elementor-icon{background-color:transparent !important; border:1px solid var(--dc-line) !important; color:#25D366 !important; width:40px !important; height:40px !important; border-radius:50% !important;}
.dc-footer-social .elementor-icon:hover{border-color:#25D366 !important;}
#dcFooterCopyright.dc-footer-copyright, #dcFooterCopyright .elementor-widget-container{color:var(--dc-muted) !important; font-size:13px !important;}
#dcToTop .elementor-button{
  width:44px !important; height:44px !important; min-width:44px !important; border-radius:50% !important;
  border:1px solid var(--dc-line) !important; background-color:transparent !important; background:transparent !important; color:var(--dc-text) !important;
  display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important; font-size:16px !important;
}
#dcToTop .elementor-button:hover{border-color:var(--dc-accent) !important; color:var(--dc-accent) !important; background:transparent !important;}
#dcToTop .elementor-button-content-wrapper, #dcToTop .elementor-button-text{color:inherit !important; background:transparent !important;}

/* ---------------- magnetic buttons ---------------- */
.dc-magnetic{display:inline-flex;}
