/* Mobile fixes (auto-generated + manual). Loaded on <= 767px. */
@media (max-width: 767px){
/* reduce oversized section paddings */
.pt-75,.pt-80,.pt-85,.pt-90,.pt-95,.pt-100,.pt-105,.pt-110,.pt-115,.pt-120{padding-top:45px!important}
.pt-125,.pt-130,.pt-135,.pt-140,.pt-145,.pt-150,.pt-155,.pt-160,.pt-165,.pt-170,.pt-175,.pt-180{padding-top:55px!important}
.pt-185,.pt-190,.pt-195,.pt-200,.pt-205,.pt-210,.pt-215,.pt-220,.pt-225,.pt-230,.pt-235,.pt-240,.pt-245,.pt-250,.pt-255,.pt-260,.pt-265,.pt-270,.pt-275,.pt-280,.pt-285,.pt-290,.pt-295,.pt-300,.pt-305,.pt-310,.pt-315,.pt-320,.pt-325,.pt-330{padding-top:65px!important}
.pb-75,.pb-80,.pb-85,.pb-90,.pb-95,.pb-100,.pb-105,.pb-110,.pb-115,.pb-120{padding-bottom:45px!important}
.pb-125,.pb-130,.pb-135,.pb-140,.pb-145,.pb-150,.pb-155,.pb-160,.pb-165,.pb-170,.pb-175,.pb-180{padding-bottom:55px!important}
.pb-185,.pb-190,.pb-195,.pb-200,.pb-205,.pb-210,.pb-215,.pb-220,.pb-225,.pb-230,.pb-235,.pb-240,.pb-245,.pb-250,.pb-255,.pb-260,.pb-265,.pb-270,.pb-275,.pb-280,.pb-285,.pb-290,.pb-295,.pb-300,.pb-305,.pb-310,.pb-315,.pb-320,.pb-325,.pb-330{padding-bottom:65px!important}
.mt-70,.mt-75,.mt-80,.mt-85,.mt-90,.mt-95,.mt-100,.mt-105,.mt-110,.mt-115,.mt-120,.mt-125,.mt-130,.mt-135,.mt-140,.mt-145,.mt-150,.mt-155,.mt-160,.mt-165,.mt-170,.mt-175,.mt-180,.mt-185,.mt-190,.mt-195,.mt-200,.mt-205,.mt-210,.mt-215,.mt-220,.mt-225,.mt-230,.mt-235,.mt-240,.mt-245,.mt-250,.mt-255,.mt-260,.mt-265,.mt-270,.mt-275,.mt-280,.mt-285,.mt-290,.mt-295,.mt-300,.mt-305,.mt-310,.mt-315,.mt-320,.mt-325,.mt-330{margin-top:40px!important}
.mb-70,.mb-75,.mb-80,.mb-85,.mb-90,.mb-95,.mb-100,.mb-105,.mb-110,.mb-115,.mb-120,.mb-125,.mb-130,.mb-135,.mb-140,.mb-145,.mb-150,.mb-155,.mb-160,.mb-165,.mb-170,.mb-175,.mb-180,.mb-185,.mb-190,.mb-195,.mb-200,.mb-205,.mb-210,.mb-215,.mb-220,.mb-225,.mb-230,.mb-235,.mb-240,.mb-245,.mb-250,.mb-255,.mb-260,.mb-265,.mb-270,.mb-275,.mb-280,.mb-285,.mb-290,.mb-295,.mb-300,.mb-305,.mb-310,.mb-315,.mb-320,.mb-325,.mb-330{margin-bottom:40px!important}
.nm-breadcrumb-area{padding-top:110px!important;padding-bottom:45px!important}
.nm-choose-1-testimonial,.nm-about-2-testimonial{overflow:visible!important}
html,body{overflow-x:hidden!important}
.elementor,.e-con,.elementor-section{max-width:100%!important}
}

/* ===== Sticky header on scroll (all breakpoints) ===== */
/* keeps a small gap from the very top so the bar floats instead of touching the edge */
.tx-header.txa_sticky_header.mw-sticky{position:fixed;top:16px;left:0;right:0;width:100%;z-index:9999;background:rgba(17,17,17,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 34px rgba(0,0,0,.38);padding-top:6px;padding-bottom:6px;animation:mwSlideDown .4s ease}
.tx-header.txa_sticky_header.mw-sticky .nm-header-3-logo img{max-height:44px;width:auto}
@keyframes mwSlideDown{from{transform:translateY(-120%);opacity:.35}to{transform:translateY(0);opacity:1}}
@media(max-width:767px){.tx-header.txa_sticky_header.mw-sticky{top:10px;padding-top:6px;padding-bottom:6px}.tx-header.txa_sticky_header.mw-sticky .nm-header-3-logo img{max-height:36px}}

/* ===== Home "Our Services" stacking cards: fix z-index during GSAP scrub =====
   Cards overlap via negative margins but have no explicit z-index, so an incoming
   card renders BEHIND card 1 mid-animation. Force each later card above the last. */
@media(min-width:992px){
  .nm-services-2-card{z-index:1}
  .nm-services-2-card:nth-child(2){z-index:2}
  .nm-services-2-card:nth-child(3){z-index:3}
  .nm-services-2-card:nth-child(4){z-index:4}
  .nm-services-2-card:nth-child(5){z-index:5}
  .nm-services-2-card:nth-child(6){z-index:6}
  .nm-services-2-card:nth-child(7){z-index:7}
  .nm-services-2-card:nth-child(8){z-index:8}
}

/* ===== Mobile off-canvas menu fixes ===== */
/* hide the sticky header while the off-canvas menu is open (no overlap) */
body.mw-menu-open .tx-header.txa_sticky_header.mw-sticky{display:none!important}
/* dropdown accordion: closed by default, arrow rotates when open */
.mobile-main-navigation li.dropdown>.dropdown-menu{display:none}
.mobile-main-navigation .dropdown-btn,.mobile-main-navigation .dropdown-btn i{transition:transform .25s ease}
.mobile-main-navigation li.dropdown.mw-open>.dropdown-btn i{transform:rotate(90deg)}
/* the arrow spanned the full item width (width:100%) and swallowed taps on the
   label; constrain it to the right so the parent link stays tappable */
.mobile-main-navigation ul li .dropdown-btn{width:64px!important;left:auto!important;right:0!important}
/* "Explore Our Services" -> pillar categories list */
.mw-offcanvas-cat-list{list-style:none;margin:0;padding:0}
.mw-offcanvas-cat-list li{border-bottom:1px solid rgba(0,0,0,.09)}
.mw-offcanvas-cat-list li:last-child{border-bottom:0}
.mw-offcanvas-cat-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px;color:#1c1c1c;font-weight:600;font-size:16px;text-decoration:none;transition:color .2s ease}
.mw-offcanvas-cat-list a:hover,.mw-offcanvas-cat-list a:focus{color:#7657FF}
.mw-offcanvas-cat-list i{color:#a6a6a6;font-size:13px;flex:none}
.mw-offcanvas-cat-list a:hover i{color:#7657FF}
/* Footer logo renders oversized (~707px) — constrain to a sensible footer size */
.nm-footer-1-logo img,.nm-footer-2-logo img,.nm-footer-3-logo img,.nm-footer-4-logo img,.nm-footer-5-logo img{max-width:180px!important;width:auto!important;height:auto!important}

/* ===== Case Study pillar portfolio listing (taxonomy-case_study_pillar) ===== */
.mw-container{max-width:1200px;margin:0 auto;padding:0 24px}
.mw-portfolio-hero{padding:150px 0 46px;background:#161616;text-align:center}
.mw-portfolio-kicker{display:inline-block;color:#7657FF;font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:13px;margin-bottom:12px}
.mw-portfolio-title{font-size:46px;line-height:1.1;margin:0 0 14px;font-weight:800;background:linear-gradient(90deg,#7657FF 0%,#FF604F 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;display:inline-block}
.mw-portfolio-desc{color:#A6A6A6;max-width:640px;margin:0 auto;font-size:16px;line-height:1.6}
.mw-portfolio-section{padding:64px 0 96px;background:#111111}
.mw-portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mw-portfolio-card{display:flex;flex-direction:column;background:#1C1C1C;border:1px solid #343434;border-radius:16px;overflow:hidden;text-decoration:none;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.mw-portfolio-card:hover{transform:translateY(-6px);border-color:#7657FF;box-shadow:0 18px 40px rgba(118,87,255,.18)}
.mw-portfolio-card-img{display:block;aspect-ratio:16/10;overflow:hidden;background:#2B2B2B}
.mw-portfolio-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.mw-portfolio-card:hover .mw-portfolio-card-img img{transform:scale(1.05)}
.mw-portfolio-card-body{display:block;padding:22px 24px 26px}
.mw-portfolio-card-title{display:block;color:#F7F4EF;font-size:20px;line-height:1.3;font-weight:700;margin-bottom:14px}
.mw-portfolio-card-link{display:inline-block;color:#7657FF;font-weight:600;font-size:14px}
.mw-portfolio-empty{color:#A6A6A6;text-align:center;padding:40px 0}
@media(max-width:900px){.mw-portfolio-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:600px){.mw-portfolio-grid{grid-template-columns:1fr}.mw-portfolio-hero{padding:110px 0 34px}.mw-portfolio-title{font-size:32px}.mw-portfolio-section{padding:44px 0 60px}}

/* ===== Single Case Study (single-case-study.php): wide content + pillar sidebar ===== */
.mw-cs-single{background:#111111;padding:120px 0 90px}
.mw-cs-container{max-width:1400px;margin:0 auto;padding:0 24px}
.mw-cs-crumb{font-size:13px;color:#A6A6A6;margin:0 0 22px}
.mw-cs-crumb a{color:#A6A6A6;text-decoration:none}
.mw-cs-crumb a:hover{color:#7657FF}
.mw-cs-crumb .sep{margin:0 8px;opacity:.5}
.mw-cs-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px;align-items:start}
.mw-cs-main{min-width:0;overflow:visible}
/* let full-width theme sections (e.g. "Why Choose Us") fill the wide column instead of being clipped */
.mw-cs-main .e-con,.mw-cs-main .e-con-inner,.mw-cs-main .tx-section,.mw-cs-main .nm-choose-2-area,.mw-cs-main .nm-choose-2-wrap{max-width:100%!important;overflow:visible!important}
.mw-cs-main .container,.mw-cs-main .nm-container-1{width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important}
.mw-cs-main img{max-width:100%;height:auto}
/* sidebar */
.mw-cs-aside{position:sticky;top:100px;display:flex;flex-direction:column;gap:24px}
.mw-cs-widget{background:#1C1C1C;border:1px solid #343434;border-radius:16px;padding:24px}
.mw-cs-widget-title{color:#F7F4EF;font-size:18px;font-weight:700;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #343434}
.mw-cs-pillars{list-style:none;margin:0;padding:0}
.mw-cs-pillars li{margin:0 0 6px}
.mw-cs-pillars a{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#A6A6A6;text-decoration:none;padding:11px 14px;border-radius:10px;transition:background .25s,color .25s;font-weight:600;font-size:14px}
.mw-cs-pillars a:hover,.mw-cs-pillars li.active>a{background:linear-gradient(90deg,#7657FF 0%,#FF604F 100%);color:#fff}
.mw-cs-pillars .n{font-size:12px;opacity:.85;font-weight:500}
.mw-cs-recent{list-style:none;margin:0;padding:0}
.mw-cs-recent li{display:flex;gap:12px;align-items:flex-start;padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid #262626}
.mw-cs-recent li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.mw-cs-recent .thumb{flex:none;display:block;width:76px;height:58px;border-radius:8px;overflow:hidden;background:#2B2B2B}
.mw-cs-recent .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mw-cs-recent .rc-meta{display:block;color:#7657FF;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px}
.mw-cs-recent a.title{color:#F7F4EF;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;display:block}
.mw-cs-recent a.title:hover{color:#7657FF}
.mw-cs-empty{color:#A6A6A6;font-size:14px;margin:0}
.mw-cs-cta p{color:#A6A6A6;font-size:14px;line-height:1.6;margin:0 0 16px}
.mw-cs-cta-btn{display:inline-block;background:linear-gradient(90deg,#7657FF 0%,#FF604F 100%);color:#fff;font-weight:700;font-size:14px;padding:12px 22px;border-radius:10px;text-decoration:none}
.mw-cs-cta-btn:hover{opacity:.92;color:#fff}
@media(max-width:991px){
  .mw-cs-single{padding:90px 0 60px}
  .mw-cs-grid{grid-template-columns:1fr;gap:32px}
  .mw-cs-aside{position:static;flex-direction:row;flex-wrap:wrap}
  .mw-cs-aside .mw-cs-widget{flex:1 1 280px}
}
@media(max-width:600px){.mw-cs-container{padding:0 16px}.mw-cs-aside .mw-cs-widget{flex:1 1 100%}}
