/* ==========================================================================
   MegaTech Zone — premium UI layer v2 (child theme)
   Keeps the Arotech look (dark navy + orange) and adds studio-grade motion:
   intro veil, page transitions, cursor, rolling menu text, blob buttons,
   clip-path image reveals, hero parallax, mobile menu from the right.
   ========================================================================== */
:root{
  --mtz-orange:#FFAA17;
  --mtz-orange-deep:#F08F00;
  --mtz-ink:#020E16;
  --mtz-ink-2:#0A1A26;
  --mtz-heading:#161B22;
  --mtz-text:#5F6470;
  --mtz-font-display:"Plus Jakarta Sans","Noto Sans",sans-serif;
  --mtz-ease:cubic-bezier(.16,1,.3,1);
  --mtz-ease-io:cubic-bezier(.77,0,.18,1);
  --mtz-shadow:0 30px 60px -28px rgba(2,14,22,.45);
  --mtz-glow:0 24px 50px -20px rgba(255,170,23,.55);
}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

::selection{background:var(--mtz-orange);color:var(--mtz-ink)}

/* ---------- intro veil + page transition curtain ---------- */
.mtz-veil{position:fixed;inset:0;z-index:99998;background:var(--mtz-ink);transform-origin:50% 0;display:grid;place-items:center;overflow:hidden;animation:mtz-veil-fallback .6s 3.4s forwards}
.mtz-veil.is-done{display:none;animation:none}
@keyframes mtz-veil-fallback{to{opacity:0;visibility:hidden}}
.mtz-veil::before{content:"";position:absolute;inset:-20%;background:radial-gradient(40% 40% at 70% 60%,rgba(255,170,23,.14),transparent 70%);pointer-events:none}
.mtz-veil-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:26px;padding:0 24px}
.mtz-veil-word{display:flex;font-family:var(--mtz-font-display);font-weight:800;font-size:clamp(2.2rem,7.5vw,6rem);line-height:1;letter-spacing:-.04em;color:#fff;overflow:hidden;padding:.06em 0}
.mtz-veil-word i{display:inline-block;font-style:normal;transform:translateY(115%);will-change:transform}
.mtz-veil-word i.sp{width:.28em}
.mtz-veil-word i.o{color:var(--mtz-orange)}
.mtz-veil-line{width:min(340px,64vw);height:2px;background:rgba(255,255,255,.12);overflow:hidden}
.mtz-veil-line i{display:block;height:100%;background:var(--mtz-orange);transform:scaleX(0);transform-origin:left}
.mtz-veil-num{position:absolute;left:max(24px,4vw);bottom:max(24px,4vh);font-family:var(--mtz-font-display);font-weight:700;font-size:clamp(2rem,6vw,4.5rem);line-height:1;letter-spacing:-.04em;color:rgba(255,255,255,.18);font-variant-numeric:tabular-nums}
.mtz-veil-tag{position:absolute;right:max(24px,4vw);bottom:max(28px,4vh);font-family:var(--mtz-font-display);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.mtz-veil.is-bare .mtz-veil-in,.mtz-veil.is-bare .mtz-veil-num,.mtz-veil.is-bare .mtz-veil-tag,
html.mtz-bare .mtz-veil-in,html.mtz-bare .mtz-veil-num,html.mtz-bare .mtz-veil-tag{display:none}
html.mtz-noveil .mtz-veil{display:none}

/* film grain */
.mtz-grain{position:fixed;inset:-100%;z-index:99990;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:mtz-grain 1.2s steps(6) infinite}
@keyframes mtz-grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-2%)}80%{transform:translate(3%,4%)}100%{transform:translate(0,0)}}

/* ---------- typography ---------- */
h1,h2,h3,h4,h5,h6,.title,.tm-sc-section-title .title,.service-title,.testimonial-name,.projects-current-theme1 .title,.icon-box-title,.counter-block .counter-number,.elementor-widget-tm-ele-counter-block h2{
  font-family:var(--mtz-font-display)!important;
  letter-spacing:-.02em;
}
.tm-sc-section-title .title{font-weight:700!important;line-height:1.1!important}
.tm-sc-section-title .subtitle{display:inline-flex;align-items:center;gap:10px;letter-spacing:.14em;font-weight:600}
.tm-sc-section-title .subtitle::before{content:"";width:26px;height:2px;background:var(--mtz-orange);border-radius:2px}
p{line-height:1.75}

/* ---------- buttons: blob fill from the cursor ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .5s var(--mtz-ease),box-shadow .5s var(--mtz-ease),color .35s!important;border-radius:4px!important}
.btn-theme-colored1::before{content:"";position:absolute;left:var(--bx,50%);top:var(--by,50%);width:0;height:auto;aspect-ratio:1/1;border-radius:50%;background:var(--mtz-ink);transform:translate(-50%,-50%);transition:width .75s var(--mtz-ease);z-index:-1;pointer-events:none}
.btn-theme-colored1:hover::before,.btn-theme-colored1:focus-visible::before{width:340%}
.btn-theme-colored1:hover,.btn-theme-colored1:focus-visible{color:#fff!important;transform:translateY(-3px);box-shadow:var(--mtz-glow)}
.btn-theme-colored1 *{position:relative;z-index:1}
.btn-plain-text{overflow:visible;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .5s var(--mtz-ease)!important}
.btn-plain-text:hover{background-size:100% 1px}

/* ---------- header / navigation ---------- */
@media (min-width:1025px){
  #elementor-header-top .menuzord-menu>li>a.menu-item-link>span,#elementor-header-top-sticky .menuzord-menu>li>a.menu-item-link>span{position:relative;display:inline-block}
  #elementor-header-top .menuzord-menu>li>a.menu-item-link>span::after,#elementor-header-top-sticky .menuzord-menu>li>a.menu-item-link>span::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--mtz-orange);border-radius:2px;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--mtz-ease)}
  #elementor-header-top .menuzord-menu>li:hover>a.menu-item-link>span::after,#elementor-header-top .menuzord-menu>li.active>a.menu-item-link>span::after,
  #elementor-header-top-sticky .menuzord-menu>li:hover>a.menu-item-link>span::after,#elementor-header-top-sticky .menuzord-menu>li.active>a.menu-item-link>span::after{transform:scaleX(1);transform-origin:left}
}
.menuzord-menu ul.dropdown{border-radius:14px!important;overflow:hidden;box-shadow:0 30px 60px -20px rgba(2,14,22,.5)!important;border:1px solid rgba(255,255,255,.06)}
.menuzord-menu ul.dropdown li a{transition:padding-left .4s var(--mtz-ease),color .3s,background-color .3s}
.menuzord-menu ul.dropdown li:hover>a{padding-left:28px!important}

/* sticky header: hide the duplicated top info bar, glass background */
#elementor-header-top-sticky .elementor-element-34632ba{display:none!important}
#elementor-header-top-sticky{transition:transform .6s var(--mtz-ease),opacity .4s!important}
#elementor-header-top-sticky .elementor-element-e463ee4{
  background:rgba(2,14,22,.78)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 50px -30px rgba(0,0,0,.6);
}
#elementor-header-top-sticky.visible.mtz-hidden{transform:translateY(-110%)}
.admin-bar #elementor-header-top-sticky{top:32px}

/* scroll progress line */
.mtz-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:99995;background:linear-gradient(90deg,var(--mtz-orange),#FFD37A);transform-origin:left;transform:scaleX(0);pointer-events:none}
.admin-bar .mtz-progress{top:32px}

/* ---------- mobile menu: slides in from the RIGHT, dark + orange ---------- */
@media (max-width:1024px){
  .tm-header-menu{
    left:auto!important;right:0!important;width:min(380px,88vw)!important;
    transform:translateX(100%)!important;
    box-shadow:-20px 0 60px -20px rgba(0,0,0,.35)!important;
    transition:transform .6s var(--mtz-ease),visibility .6s!important;
  }
  .tm-header-menu.active{transform:translateX(0)!important}
  .tm-header-menu-backdrop{background:rgba(2,14,22,.55)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .6s,visibility .6s!important}
  .tm-header-menu .menuzord-menu>li{transform:translateX(30px);opacity:0;transition:transform .6s var(--mtz-ease),opacity .6s var(--mtz-ease)}
  .tm-header-menu.active .menuzord-menu>li{transform:none;opacity:1}
  .tm-header-menu.active .menuzord-menu>li:nth-child(1){transition-delay:.18s}
  .tm-header-menu.active .menuzord-menu>li:nth-child(2){transition-delay:.24s}
  .tm-header-menu.active .menuzord-menu>li:nth-child(3){transition-delay:.30s}
  .tm-header-menu.active .menuzord-menu>li:nth-child(4){transition-delay:.36s}
  .tm-header-menu.active .menuzord-menu>li:nth-child(5){transition-delay:.42s}
  .tm-header-menu.active .menuzord-menu>li:nth-child(6){transition-delay:.48s}
  .tm-header-menu.active .menuzord-menu>li:nth-child(7){transition-delay:.54s}
  .tm-header-menu .menuzord-menu li a:hover span,.tm-header-menu .menuzord-menu>li.active>a span{color:var(--mtz-orange)!important}
  .tm-header-menu .menuzord-menu ul.dropdown{box-shadow:none!important;border:0;border-radius:0!important}
}
/* ---------- Platforms band under the hero (replaces the plain logo row) ---------- */
.elementor-element-11055a3.mtz-has-partners{position:relative;z-index:8;background:transparent!important;padding-top:0!important;padding-bottom:30px!important;margin-top:-78px!important}
.elementor-element-11055a3.mtz-has-partners .tm-sc-clients-logo{display:none!important}
.mtz-partners{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center;gap:44px;padding:30px 38px;border-radius:24px;
  background:linear-gradient(135deg,#0B1D2B 0%,#020E16 70%);border:1px solid rgba(255,255,255,.08);
  box-shadow:0 50px 90px -45px rgba(2,14,22,.85),inset 0 1px 0 rgba(255,255,255,.06);color:#fff}
.mtz-partners::before{content:"";position:absolute;z-index:-1;width:420px;aspect-ratio:1;left:-160px;top:-210px;border-radius:50%;background:radial-gradient(circle,rgba(255,170,23,.28),rgba(255,170,23,0) 65%)}
.mtz-partners::after{content:"";position:absolute;left:38px;right:38px;top:0;height:1px;background:linear-gradient(90deg,var(--mtz-orange),rgba(255,170,23,0) 60%)}
.mtz-partners-kicker{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-family:var(--mtz-font-display);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mtz-orange)}
.mtz-partners-kicker::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--mtz-orange)}
.mtz-partners-intro p{margin:0;font-family:var(--mtz-font-display);font-size:18px;font-weight:600;line-height:1.4;letter-spacing:-.01em;color:#fff}
.mtz-partners-marquee{position:relative;overflow:hidden;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mtz-partners-track{display:flex;width:max-content;animation:mtz-partners 30s linear infinite}
.mtz-partners-marquee:hover .mtz-partners-track{animation-play-state:paused}
.mtz-partners-group{display:flex;align-items:center;gap:64px;padding-right:64px}
.mtz-partners-logo{display:grid;place-items:center;height:56px;padding:0 6px;transition:transform .5s var(--mtz-ease)}
.mtz-partners-logo img{height:34px;width:auto;max-width:140px;object-fit:contain;filter:brightness(0) invert(1);opacity:.55;transition:opacity .4s,filter .4s}
.mtz-partners-logo:hover{transform:translateY(-4px)}
.mtz-partners-logo:hover img{opacity:1;filter:brightness(0) invert(1) drop-shadow(0 6px 18px rgba(255,170,23,.55))}
@keyframes mtz-partners{to{transform:translateX(-50%)}}
@media (min-width:992px){
  .mtz-slider-ui .mtz-ui-inner{padding-bottom:112px}
  .mtz-scroll-cue{bottom:104px}
}
@media (max-width:991px){
  .elementor-element-11055a3.mtz-has-partners{margin-top:-36px!important;padding-bottom:20px!important}
  .mtz-partners{grid-template-columns:1fr;gap:20px;padding:24px 22px;border-radius:20px}
  .mtz-partners::after{left:22px;right:22px}
  .mtz-partners-intro p{font-size:16px}
  .mtz-partners-group{gap:44px;padding-right:44px}
  .mtz-partners-logo img{height:28px}
}
@media (prefers-reduced-motion:reduce){.mtz-partners-track{animation:none;flex-wrap:wrap}}

/* ---------- NEW full-screen mobile menu (replaces the theme drawer once JS is ready) ---------- */
@media (max-width:1024px){
  html.mtz-mnav-ready .tm-header-menu,html.mtz-mnav-ready .tm-header-menu-backdrop{display:none!important}
  /* hamburger: round dark button, two offset lines */
  .tm-nav-mobile-button{width:48px!important;height:48px!important;border-radius:50%;background:var(--mtz-ink);box-shadow:0 10px 24px -10px rgba(2,14,22,.6);transition:transform .4s var(--mtz-ease)}
  .tm-nav-mobile-button:active{transform:scale(.92)}
  .tm-nav-mobile-button::before,.tm-nav-mobile-button::after,.tm-nav-mobile-button span{background:#fff!important;height:2px!important;margin:0!important;right:auto!important;left:14px!important;border-radius:2px;transition:width .4s var(--mtz-ease)!important}
  .tm-nav-mobile-button::before{top:18px!important;width:20px!important}
  .tm-nav-mobile-button span{top:23px!important;width:13px!important;background:var(--mtz-orange)!important}
  .tm-nav-mobile-button::after{top:28px!important;bottom:auto!important;width:20px!important}
}
.mtz-mnav{position:fixed;inset:0;z-index:100000;visibility:hidden;pointer-events:none;color:#fff;font-family:var(--mtz-font-display)}
.mtz-mnav.is-open{visibility:visible;pointer-events:auto}
.mtz-mnav-bg{position:absolute;inset:0;background:var(--mtz-ink);clip-path:circle(0px at calc(100% - 42px) 42px);transition:clip-path .85s var(--mtz-ease-io);overflow:hidden}
.mtz-mnav.is-open .mtz-mnav-bg{clip-path:circle(160vmax at calc(100% - 42px) 42px)}
.mtz-mnav-bg::before{content:"";position:absolute;width:120vw;aspect-ratio:1;right:-55vw;top:-45vw;border-radius:50%;background:radial-gradient(circle,rgba(255,170,23,.26),rgba(255,170,23,0) 62%)}
.mtz-mnav-bg::after{content:"";position:absolute;inset:0;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:44px 44px;mask-image:linear-gradient(180deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%)}
.mtz-mnav-in{position:relative;height:100%;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(env(safe-area-inset-top,0px) + 18px) max(22px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 26px) max(22px,env(safe-area-inset-left,0px))}
.mtz-mnav-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;opacity:0;transition:opacity .4s .2s}
.mtz-mnav.is-open .mtz-mnav-top{opacity:1}
.mtz-mnav-top img{height:44px;width:auto}
.mtz-mnav-close{position:relative;width:48px;height:48px;border-radius:50%;border:0;padding:0;background:var(--mtz-orange);cursor:pointer;flex:none;transform:rotate(-90deg) scale(.6);transition:transform .7s var(--mtz-ease) .15s}
.mtz-mnav.is-open .mtz-mnav-close{transform:none}
.mtz-mnav-close::before,.mtz-mnav-close::after{content:"";position:absolute;left:15px;right:15px;top:23px;height:2px;border-radius:2px;background:var(--mtz-ink);transform:rotate(45deg)}
.mtz-mnav-close::after{transform:rotate(-45deg)}
.mtz-mnav-label{margin:40px 0 10px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:10px}
.mtz-mnav-label::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--mtz-orange)}
.mtz-mnav-list{list-style:none;margin:0;padding:0}
.mtz-mnav-list>li{border-bottom:1px solid rgba(255,255,255,.09)}
.mtz-mnav-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:14px 0;background:none;border:0;color:#fff;text-decoration:none;text-align:left;cursor:pointer;font:inherit}
.mtz-mi-mask{display:block;overflow:hidden;padding:.06em 0}
.mtz-mi{display:block;font-size:20px;font-weight:600;line-height:1.2;letter-spacing:-.01em;transition:color .3s,transform .5s var(--mtz-ease)}
.mtz-mnav-row:active .mtz-mi,.mtz-mnav-row:hover .mtz-mi{color:var(--mtz-orange);transform:translateX(6px)}
.mtz-mnav-list>li.is-current .mtz-mi{color:var(--mtz-orange)}
.mtz-mnav-go{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;transition:background .3s,border-color .3s,transform .5s var(--mtz-ease)}
.mtz-mnav-go svg{width:14px;height:14px}
.mtz-mnav-row:hover .mtz-mnav-go,.mtz-mnav-row:active .mtz-mnav-go{background:var(--mtz-orange);border-color:var(--mtz-orange);color:var(--mtz-ink)}
.mtz-has-sub .mtz-mnav-go svg{transition:transform .5s var(--mtz-ease)}
.mtz-has-sub.is-expanded .mtz-mnav-go{background:var(--mtz-orange);border-color:var(--mtz-orange);color:var(--mtz-ink)}
.mtz-has-sub.is-expanded .mtz-mnav-go svg{transform:rotate(45deg)}
.mtz-mnav-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--mtz-ease)}
.mtz-has-sub.is-expanded .mtz-mnav-sub{grid-template-rows:1fr}
.mtz-mnav-sub>div{overflow:hidden}
.mtz-mnav-sub a{display:flex;align-items:center;gap:12px;padding:6px 0 14px 4px;color:rgba(255,255,255,.72);text-decoration:none;font-size:16px;font-weight:500;letter-spacing:0}
.mtz-mnav-sub a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mtz-orange)}
.mtz-mnav-sub a:active,.mtz-mnav-sub a:hover{color:#fff}
.mtz-mnav-foot{margin-top:auto;padding-top:36px;display:grid;gap:18px}
.mtz-mnav-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-radius:16px;background:var(--mtz-orange);color:var(--mtz-ink)!important;text-decoration:none;font-weight:700;font-size:17px;letter-spacing:-.01em}
.mtz-mnav-cta svg{width:20px;height:20px;transition:transform .5s var(--mtz-ease)}
.mtz-mnav-cta:active svg{transform:translateX(4px)}
.mtz-mnav-contact{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mtz-mnav-contact a{display:grid;gap:3px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff!important;text-decoration:none;min-width:0}
.mtz-mnav-contact small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.mtz-mnav-contact b{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mtz-mnav-addr{margin:0;font-size:13px;color:rgba(255,255,255,.45);font-family:var(--mtz-font-display)}
html.mtz-mnav-open,html.mtz-mnav-open body{overflow:hidden!important}
@media (prefers-reduced-motion:reduce){.mtz-mnav-bg{transition:none}}

/* phones: keep the hero clean, only the progress bar */
@media (max-width:767px){
  .mtz-slider-ui .mtz-ui-inner{display:none}
  .mtz-grain{display:none}
}

/* ---------- hero slider (Slider Revolution 7) ---------- */
.elementor-widget-slider_revolution{position:relative}
sr7-module{position:relative}
sr7-module::after{
  content:"";position:absolute;inset:0;z-index:5;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(2,14,22,.74) 0%,rgba(2,14,22,.36) 45%,rgba(2,14,22,0) 75%),
    linear-gradient(180deg,rgba(2,14,22,.25) 0%,rgba(2,14,22,0) 30%,rgba(2,14,22,0) 70%,rgba(2,14,22,.6) 100%);
}
sr7-bg{will-change:transform}
sr7-slide.mtz-active sr7-bg>canvas{animation:mtz-kenburns 11s cubic-bezier(.2,.6,.2,1) forwards;transform-origin:60% 45%;will-change:transform}
@keyframes mtz-kenburns{from{transform:scale(1.04)}to{transform:scale(1.16)}}
.mtz-slider-ui{position:absolute;left:0;right:0;bottom:0;z-index:20;pointer-events:none}
.mtz-slider-ui .mtz-ui-inner{max-width:1310px;margin:0 auto;padding:0 20px 34px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.mtz-slider-ui .mtz-count{font-family:var(--mtz-font-display);color:#fff;font-size:15px;letter-spacing:.12em;display:flex;align-items:center;gap:14px}
.mtz-slider-ui .mtz-count b{font-size:28px;font-weight:700;line-height:1;display:inline-block;overflow:hidden}
.mtz-slider-ui .mtz-count i{display:block;width:60px;height:1px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.mtz-slider-ui .mtz-count i::after{content:"";position:absolute;inset:0;background:var(--mtz-orange);transform-origin:left;transform:scaleX(var(--p,0));transition:transform .8s var(--mtz-ease)}
.mtz-slider-ui .mtz-arrows{display:flex;gap:10px;pointer-events:auto}
.mtz-slider-ui .mtz-arrow{width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(2,14,22,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .4s,border-color .4s,color .4s;padding:0;overflow:hidden;position:relative}
.mtz-slider-ui .mtz-arrow svg{width:20px;height:20px;position:relative;z-index:1;transition:transform .5s var(--mtz-ease)}
.mtz-slider-ui .mtz-arrow::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--mtz-orange);transform:scale(0);transition:transform .5s var(--mtz-ease)}
.mtz-slider-ui .mtz-arrow:hover{border-color:var(--mtz-orange);color:var(--mtz-ink)}
.mtz-slider-ui .mtz-arrow:hover::before{transform:scale(1)}
.mtz-slider-ui .mtz-next:hover svg{transform:translateX(3px)}
.mtz-slider-ui .mtz-prev:hover svg{transform:translateX(-3px)}
.mtz-slider-ui .mtz-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.14)}
.mtz-slider-ui .mtz-bar i{display:block;height:100%;background:var(--mtz-orange);transform-origin:left;transform:scaleX(0)}
.mtz-scroll-cue{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:21;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.7);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-family:var(--mtz-font-display)}
.mtz-scroll-cue span{width:1px;height:46px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}
.mtz-scroll-cue span::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--mtz-orange);animation:mtz-cue 2s infinite var(--mtz-ease)}
@keyframes mtz-cue{to{top:100%}}
@media (max-width:991px){.mtz-slider-ui .mtz-ui-inner{padding-bottom:24px}.mtz-slider-ui .mtz-arrow{width:46px;height:46px}.mtz-scroll-cue{display:none}}

/* ---------- marquee ---------- */
.tm-marquee-parent{will-change:transform}

/* ---------- client logos ---------- */
.tm-sc-clients-logo img,.elementor-widget-tm-ele-clients-logo img{filter:grayscale(1);opacity:.55;transition:filter .5s,opacity .5s,transform .6s var(--mtz-ease)}
.tm-sc-clients-logo .swiper-slide:hover img,.elementor-widget-tm-ele-clients-logo .swiper-slide:hover img{filter:grayscale(0);opacity:1;transform:translateY(-4px) scale(1.06)}

/* ---------- service cards ---------- */
.service-block-style1{perspective:1000px}
.service-block-style1 .inner-box{border-radius:20px;position:relative;overflow:hidden;isolation:isolate;transition:transform .6s var(--mtz-ease),box-shadow .6s var(--mtz-ease)!important;transform-style:preserve-3d}
.service-block-style1 .inner-box::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.38),transparent 60%);opacity:0;transition:opacity .4s}
.service-block-style1 .inner-box:hover::before{opacity:1}
.service-block-style1 .inner-box:hover{transform:translateY(-12px);box-shadow:var(--mtz-glow)}
.service-block-style1 .service-icon{transition:transform .6s var(--mtz-ease)}
.service-block-style1 .inner-box:hover .service-icon{transform:translateY(-6px) scale(1.12) rotate(-6deg)}
.service-block-style1 .btn-view-details{transition:transform .5s var(--mtz-ease)}
.service-block-style1 .inner-box:hover .btn-view-details{transform:translateX(6px)}

/* ---------- project cards ---------- */
.projects-current-theme1 .inner-box{border-radius:20px;overflow:hidden;position:relative;transition:transform .6s var(--mtz-ease),box-shadow .6s var(--mtz-ease);box-shadow:0 1px 0 rgba(2,14,22,.05);cursor:none}
.projects-current-theme1 .inner-box:hover{transform:translateY(-10px);box-shadow:var(--mtz-shadow)}
.projects-current-theme1 .image-box{overflow:hidden}
.projects-current-theme1 .image img{transition:transform 1.4s var(--mtz-ease),filter .6s!important}
.projects-current-theme1 .inner-box:hover .image img{transform:scale(1.09);filter:saturate(1.15)}
.projects-current-theme1 .image-box .icon{transition:transform .6s var(--mtz-ease),background-color .4s,opacity .4s!important}
.projects-current-theme1 .inner-box:hover .image-box .icon{transform:rotate(-45deg) scale(1.1)}
.projects-current-theme1 .content-box{transition:transform .6s var(--mtz-ease)}
.projects-current-theme1 .inner-box:hover .content-box{transform:translateY(-6px)}
@media (pointer:coarse){.projects-current-theme1 .inner-box{cursor:pointer}}

/* ---------- testimonials ---------- */
.testimonial-block-style2 .inner-box{border-radius:22px;transition:transform .6s var(--mtz-ease),box-shadow .6s var(--mtz-ease)!important;position:relative;overflow:hidden}
.testimonial-block-style2 .inner-box::before{content:"\201C";position:absolute;right:26px;top:6px;font-family:Georgia,serif;font-size:140px;line-height:1;color:var(--mtz-orange);opacity:.14;pointer-events:none;transition:transform .8s var(--mtz-ease),opacity .4s}
.testimonial-block-style2 .inner-box:hover{transform:translateY(-8px);box-shadow:var(--mtz-shadow)}
.testimonial-block-style2 .inner-box:hover::before{transform:translateY(-8px) rotate(-6deg);opacity:.28}
.testimonial-block-style2 .thumb img{transition:transform .6s var(--mtz-ease)}
.testimonial-block-style2 .inner-box:hover .thumb img{transform:scale(1.08)}
.tm-swiper-container .swiper-pagination-bullet{transition:width .5s var(--mtz-ease),background-color .4s!important;border-radius:99px!important}
.tm-swiper-container .swiper-pagination-bullet-active{width:28px!important;background:var(--mtz-orange)!important}

/* ---------- icon boxes ---------- */
.tm-sc-icon-box .icon{transition:transform .6s var(--mtz-ease),background-color .4s,color .4s,box-shadow .5s!important}
.tm-sc-icon-box:hover .icon{transform:translateY(-6px) rotate(-8deg);box-shadow:var(--mtz-glow)}
.elementor-widget-tm-ele-iconbox .icon-box{transition:transform .6s var(--mtz-ease)}
.elementor-widget-tm-ele-iconbox .icon-box:hover{transform:translateY(-4px)}

/* ---------- images: rounded, clip reveal handled in JS ---------- */
@media (pointer:fine){
  .main-content .elementor-widget-image:not(.elementor-absolute) .elementor-widget-container{overflow:hidden;border-radius:18px}
  .main-content .elementor-widget-image:not(.elementor-absolute) img{border-radius:18px}
}

/* ---------- counters ---------- */
.elementor-widget-tm-ele-counter-block .counter-number,.tm-sc-counter .counter-number,.counter-block h2,.counter-block h3{font-variant-numeric:tabular-nums;letter-spacing:-.03em!important}

/* ---------- blog cards ---------- */
.elementor-widget-tm-ele-blog article,.elementor-widget-tm-ele-blog .post{transition:transform .6s var(--mtz-ease)}
.elementor-widget-tm-ele-blog article:hover,.elementor-widget-tm-ele-blog .post:hover{transform:translateY(-8px)}
.elementor-widget-tm-ele-blog .post-thumb,.elementor-widget-tm-ele-blog .entry-thumbnail,.elementor-widget-tm-ele-blog .thumb{overflow:hidden;border-radius:18px}
.elementor-widget-tm-ele-blog img{transition:transform 1.2s var(--mtz-ease)!important}
.elementor-widget-tm-ele-blog article:hover img,.elementor-widget-tm-ele-blog .post:hover img{transform:scale(1.07)}

/* ---------- forms ---------- */
.wpcf7 input:not([type=submit]),.wpcf7 textarea,.mc4wp-form input[type=email]{transition:border-color .3s,box-shadow .3s,transform .3s!important}
.wpcf7 input:not([type=submit]):focus,.wpcf7 textarea:focus,.mc4wp-form input[type=email]:focus{border-color:var(--mtz-orange)!important;box-shadow:0 0 0 4px rgba(255,170,23,.18)!important;outline:none}

/* ---------- back to top ---------- */
a.scroll-link{border-radius:50%!important;box-shadow:var(--mtz-glow);transition:transform .5s var(--mtz-ease),box-shadow .4s!important}
a.scroll-link:hover{transform:translateY(-4px) scale(1.06)}

/* ---------- custom cursor (desktop, fine pointer only) ---------- */
.mtz-cursor{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--mtz-orange);pointer-events:none;z-index:999999;opacity:0}
.mtz-cursor-ring{position:fixed;left:0;top:0;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:1.5px solid rgba(255,170,23,.9);pointer-events:none;z-index:999998;opacity:0;display:grid;place-items:center;transition:width .4s var(--mtz-ease),height .4s var(--mtz-ease),margin .4s var(--mtz-ease),background-color .4s,border-color .4s}
.mtz-cursor-ring span{font-family:var(--mtz-font-display);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mtz-ink);opacity:0;transition:opacity .25s;white-space:nowrap}
.mtz-cursor-ring.is-link{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(255,170,23,.14);border-color:rgba(255,170,23,.5)}
.mtz-cursor-ring.is-text{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--mtz-orange);border-color:var(--mtz-orange)}
.mtz-cursor-ring.is-text span{opacity:1}
.mtz-cursor-ring.is-text~.mtz-cursor,.mtz-cursor.is-hidden{opacity:0!important}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  sr7-slide.mtz-active sr7-bg>canvas{animation:none}
  .mtz-cursor,.mtz-cursor-ring,.mtz-scroll-cue,.mtz-grain{display:none!important}
  .mtz-veil{display:none!important}
  *{transition-duration:.01ms!important}
}
