/* ==========================================================================
   Altamayuz — hover.css  (loaded last, on every page)
   One calm hover language for the whole site. Movements are small (a few
   pixels), colours and shadows fade rather than switch, and everything
   rides the same long ease-out so nothing snaps, bounces or overshoots.
   Hover-only effects are gated to real pointers (no sticky hover on
   touch) and everything is switched off for reduced motion.
   ========================================================================== */

@property --tmz-glow{syntax:"<number>";inherits:false;initial-value:0}

:root{
  /* Ease-out-quint: quick to respond, long soft landing, no overshoot. */
  --tmz-ease-out:cubic-bezier(.22,1,.36,1);
  --tmz-hv-dur:.6s;
  --tmz-hv-line:rgba(var(--tmz-primary-rgb),.20);
  --tmz-hv-shadow:0 1px 2px rgba(var(--tmz-ink-rgb),.03),0 10px 24px -14px rgba(var(--tmz-primary-rgb),.22),0 28px 56px -36px rgba(var(--tmz-ink-rgb),.26);
  --tmz-hv-shadow-s:0 1px 2px rgba(var(--tmz-ink-rgb),.03),0 10px 22px -16px rgba(var(--tmz-primary-rgb),.24);
  --tmz-hv-dark:0 0 0 1px rgba(127,227,234,.16),0 30px 60px -36px rgba(3,14,30,.85);
}

/* ---- 1. Light cards: shared motion + a faint light under the cursor ---- */
.tmz-card:not(.tmz-card--flat),
.tmz-svc:not(.tmz-svc--dark),
.tmz-area:not(.tmz-svc--dark),
.tmz-post,
.tmz-fpost,
.tmz-tst,
.tmz-cc-item,
.tmz-mini-area,
.tmz-q,
.tmz-olist li,
.tmz-pn a,
.tmz-help,
.tmz-surf span{
  background-image:radial-gradient(480px circle at var(--tmz-mx,50%) var(--tmz-my,-30%),rgba(var(--tmz-primary-rgb),calc(.055 * var(--tmz-glow))),transparent 48%);
  transition:transform var(--tmz-hv-dur) var(--tmz-ease-out),box-shadow var(--tmz-hv-dur) var(--tmz-ease-out),border-color var(--tmz-hv-dur) var(--tmz-ease-out),--tmz-glow .8s var(--tmz-ease-out);
}

/* ---- 2. Dark cards ------------------------------------------------------ */
.tmz-svc--dark,.tmz-tech,.tmz-cmp--new{transition:transform var(--tmz-hv-dur) var(--tmz-ease-out),box-shadow var(--tmz-hv-dur) var(--tmz-ease-out),background .6s var(--tmz-ease-out),border-color .6s var(--tmz-ease-out)}

/* ---- 3. Parts that answer a hover: one easing, no bounce --------------- */
.tmz-ic{transition:background-color .5s var(--tmz-ease-out),color .5s var(--tmz-ease-out),border-color .5s var(--tmz-ease-out),transform .6s var(--tmz-ease-out),box-shadow .6s var(--tmz-ease-out)}
.tmz-svc h3,.tmz-area h3,.tmz-card h3,.tmz-post h3,.tmz-fpost h2,.tmz-fpost h3,.tmz-cc-item b,.tmz-mini-area b,.tmz-pn b,.tmz-feat h3,.tmz-feat h4,.tmz-rel-list a span:last-child{transition:color .45s var(--tmz-ease-out)}
.tmz-link-arrow{transition:gap .6s var(--tmz-ease-out),color .4s var(--tmz-ease-out)}
.tmz-link-arrow svg,.tmz-i--dir{transition:transform .6s var(--tmz-ease-out)}
.tmz-cover img,.tmz-frame img{transition:transform 1.6s var(--tmz-ease-out),filter 1.2s var(--tmz-ease-out)}
.tmz-cover .tmz-ic{transition:transform .9s var(--tmz-ease-out),box-shadow .9s var(--tmz-ease-out)}
.tmz-tst .tmz-qmark{transition:color .6s var(--tmz-ease-out)}
.tmz-pm{transition:transform .5s var(--tmz-ease-out),background-color .4s var(--tmz-ease-out),color .4s var(--tmz-ease-out)}
.tmz-stat{transition:background-color .6s var(--tmz-ease-out)}
.tmz-stat .tmz-ic{transition:transform .7s var(--tmz-ease-out),background-color .5s,color .5s}
.tmz-step .tmz-node{transition:background-color .5s var(--tmz-ease-out),color .5s var(--tmz-ease-out),border-color .5s var(--tmz-ease-out),transform .6s var(--tmz-ease-out),box-shadow .6s var(--tmz-ease-out)}
.tmz-side-nav a,.tmz-toc a{transition:background-color .4s var(--tmz-ease-out),color .4s var(--tmz-ease-out),box-shadow .5s var(--tmz-ease-out),padding .5s var(--tmz-ease-out)}
.tmz-chip,.tmz-pill{transition:color .4s var(--tmz-ease-out),border-color .4s var(--tmz-ease-out),background-color .4s var(--tmz-ease-out),transform .5s var(--tmz-ease-out),box-shadow .5s var(--tmz-ease-out)}
.tmz-prose a{transition:text-decoration-color .4s var(--tmz-ease-out),text-underline-offset .5s var(--tmz-ease-out),color .4s}
.tmz-nav__link{transition:color .35s var(--tmz-ease-out),background-color .35s var(--tmz-ease-out)}
.tmz-nav__link::after{transition:transform .5s var(--tmz-ease-out)}
.tmz-nav__sub .tmz-nav__link{transition:color .35s var(--tmz-ease-out),background-color .35s var(--tmz-ease-out),padding .45s var(--tmz-ease-out)}
.tmz-fab{transition:transform .6s var(--tmz-ease-out),box-shadow .6s var(--tmz-ease-out)}
.tmz-totop,.tmz-iconbtn,.tmz-lang{transition:opacity .4s,visibility .4s,transform .5s var(--tmz-ease-out),border-color .4s,color .4s,box-shadow .5s var(--tmz-ease-out)}

/* ---- 4. Buttons: a gentle rise, a soft press --------------------------- */
.tmz-btn{transition:transform .5s var(--tmz-ease-out),box-shadow .5s var(--tmz-ease-out),background-color .4s var(--tmz-ease-out),border-color .4s var(--tmz-ease-out),color .4s var(--tmz-ease-out)}
.tmz-btn::after{transition:transform .9s var(--tmz-ease-out)}
.tmz-hs-btn,.tmz-pbx-call{transition:transform .5s var(--tmz-ease-out),background-color .4s,border-color .4s,color .4s,box-shadow .5s var(--tmz-ease-out)}
.tmz-btn:active,.tmz-iconbtn:active,.tmz-hs-btn:active{transform:translateY(0) scale(.985)!important;transition-duration:.15s}

/* ---- 5. Footer ---------------------------------------------------------- */
/* Link lists: the dot stretches into a short bar and the text follows it. */
.tmz-ftr ul a{position:relative;align-items:flex-start;transition:color .45s var(--tmz-ease-out),transform .6s var(--tmz-ease-out)}
.tmz-ftr ul a::before{flex:none;margin-top:.78em;transition:inline-size .6s var(--tmz-ease-out),background-color .45s var(--tmz-ease-out),border-radius .6s}
/* Contact list: each line becomes a soft tile; links also lift their icon. */
.tmz-ci{position:relative;padding:10px 12px;margin-inline:-12px;min-inline-size:0;border-radius:16px;transition:background-color .5s var(--tmz-ease-out),box-shadow .5s var(--tmz-ease-out)}
.tmz-ci > span:last-child{min-inline-size:0;transition:transform .6s var(--tmz-ease-out)}
.tmz-ci b{overflow-wrap:break-word}
.tmz-ci small,.tmz-ci b{transition:color .45s var(--tmz-ease-out)}
.tmz-ci .tmz-ic{position:relative}
.tmz-ftr-bot a{background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;padding-bottom:2px;transition:color .4s var(--tmz-ease-out),background-size .6s var(--tmz-ease-out)}
html[dir=rtl] .tmz-ftr-bot a{background-position:100% 100%}
.tmz-soc a{transition:background-color .45s var(--tmz-ease-out),color .45s var(--tmz-ease-out),transform .55s var(--tmz-ease-out),box-shadow .55s var(--tmz-ease-out)}

@media (hover:hover) and (pointer:fine){

  /* Light cards */
  .tmz-card:not(.tmz-card--flat):hover,
  .tmz-svc:not(.tmz-svc--dark):hover,
  .tmz-area:not(.tmz-svc--dark):hover,
  .tmz-post:hover,
  .tmz-tst:hover,
  .tmz-cc-item:hover{transform:translate3d(0,-4px,0);box-shadow:var(--tmz-hv-shadow);border-color:var(--tmz-hv-line);--tmz-glow:1}
  .tmz-fpost:hover{transform:translate3d(0,-3px,0);box-shadow:var(--tmz-hv-shadow);border-color:var(--tmz-hv-line);--tmz-glow:1}
  .tmz-mini-area:hover,
  .tmz-pn a:hover,
  .tmz-help:hover,
  .tmz-surf span:hover{transform:translate3d(0,-2px,0);box-shadow:var(--tmz-hv-shadow-s);border-color:var(--tmz-hv-line);--tmz-glow:1}
  .tmz-q:hover,.tmz-olist li:hover{box-shadow:var(--tmz-hv-shadow-s);border-color:var(--tmz-hv-line);--tmz-glow:1}
  .tmz-q[open]:hover{border-color:transparent}

  /* Titles warm to the brand colour */
  .tmz-svc:not(.tmz-svc--dark):hover h3,
  .tmz-area:not(.tmz-svc--dark):hover h3,
  .tmz-card:hover h3,
  .tmz-post:hover h3,
  .tmz-fpost:hover h2,.tmz-fpost:hover h3,
  .tmz-cc-item:hover b,
  .tmz-mini-area:hover b,
  .tmz-pn a:hover b,
  .tmz-feat:hover h3,.tmz-feat:hover h4{color:var(--tmz-primary)}

  /* Icons fill with the brand colour and rise a touch — no tilting */
  .tmz-card:hover .tmz-ic:not(.tmz-ic--grad),
  .tmz-svc:not(.tmz-svc--dark):hover .tmz-ic:not(.tmz-ic--grad),
  .tmz-area:not(.tmz-svc--dark):hover .tmz-ic:not(.tmz-ic--grad),
  .tmz-cc-item:hover .tmz-ic:not(.tmz-ic--grad),
  .tmz-feat:hover .tmz-ic:not(.tmz-ic--grad){background:var(--tmz-primary);color:#fff;transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(var(--tmz-primary-rgb),.55)}
  .tmz-card:hover .tmz-ic--grad,.tmz-svc:hover .tmz-ic--grad,.tmz-cc-item:hover .tmz-ic--grad,.tmz-feat:hover .tmz-ic--grad{transform:translateY(-2px);box-shadow:0 12px 22px -12px rgba(var(--tmz-primary-rgb),.5)}
  .tmz-svc--dark:hover .tmz-ic,.tmz-area.tmz-svc--dark:hover .tmz-ic{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(127,227,234,.35)}
  .tmz-tech:hover .tmz-ic--dark{transform:translateY(-2px)}
  .tmz-stat:hover .tmz-ic{transform:translateY(-2px)}
  .tmz-post:hover .tmz-cover .tmz-ic,.tmz-fpost:hover .tmz-cover .tmz-ic{transform:translateY(-3px);box-shadow:var(--tmz-shadow-l)}

  /* Images: a slow, shallow zoom */
  .tmz-post:hover .tmz-cover img,.tmz-fpost:hover .tmz-cover img{transform:scale(1.04)}
  .tmz-split-media:hover .tmz-frame img{transform:scale(1.035)}

  /* "Read more" links open up towards their arrow */
  .tmz-link-arrow:hover,a:hover > .tmz-link-arrow,a:hover .tmz-link-arrow,.tmz-post:hover .tmz-link-arrow,.tmz-card:hover .tmz-link-arrow{gap:12px}

  /* Dark cards: rise with a quiet aqua hairline */
  .tmz-svc--dark:hover,.tmz-area.tmz-svc--dark:hover{transform:translate3d(0,-4px,0);box-shadow:var(--tmz-hv-dark)}
  .tmz-tech:hover{transform:translate3d(0,-4px,0);box-shadow:var(--tmz-hv-dark)}
  .tmz-tech--cta:hover{box-shadow:0 24px 48px -28px rgba(var(--tmz-primary-rgb),.65)}
  .tmz-cmp--new:hover{transform:translate3d(0,-4px,0);box-shadow:var(--tmz-hv-dark)}

  /* Testimonials, FAQ, stats, steps */
  .tmz-tst:hover .tmz-qmark{color:rgba(var(--tmz-primary-rgb),.22)}
  .tmz-q:not([open]):hover .tmz-pm{background:var(--tmz-primary-soft);color:var(--tmz-primary)}
  .tmz-stat:hover{background-color:rgba(var(--tmz-primary-rgb),.03)}
  .tmz-step:hover .tmz-node{transform:translateY(-2px);box-shadow:0 0 0 6px rgba(var(--tmz-primary-rgb),.10)}

  /* Sidebar navigation and table of contents: a bar fades in at the start edge */
  .tmz-side-nav a:hover,.tmz-toc a:hover{box-shadow:inset calc(2px * var(--tmz-dir)) 0 0 var(--tmz-primary);padding-inline-start:18px}
  .tmz-side-nav a.is-active{box-shadow:inset calc(2px * var(--tmz-dir)) 0 0 var(--tmz-primary)}
  .tmz-rel-list a:hover .tmz-ic{background:var(--tmz-primary);color:#fff}

  /* Header navigation: the brand bar draws under the hovered item */
  .tmz-nav__list > .tmz-nav__item:hover > .tmz-nav__link::after{transform:translateX(-50%) scaleX(1)}

  /* Chips, filter pills, share buttons */
  a.tmz-chip:hover,.tmz-pill:hover{transform:translateY(-1px);box-shadow:0 8px 18px -12px rgba(var(--tmz-primary-rgb),.45);background-color:#fff}
  .tmz-share a,.tmz-share button{transition:color .4s var(--tmz-ease-out),border-color .4s var(--tmz-ease-out),transform .5s var(--tmz-ease-out),box-shadow .5s var(--tmz-ease-out)}
  .tmz-share a:hover,.tmz-share button:hover{transform:translateY(-2px);box-shadow:0 8px 18px -12px rgba(var(--tmz-primary-rgb),.45)}

  /* Article links: the underline darkens and settles a little lower */
  .tmz-prose a:hover{text-underline-offset:6px}

  /* Footer link lists */
  .tmz-ftr ul a:hover{color:#fff;transform:translateX(calc(3px * var(--tmz-dir)))}
  .tmz-ftr ul a:hover::before{inline-size:14px;border-radius:3px;background:var(--tmz-aqua)}

  /* Footer contact list */
  .tmz-ci:hover{background-color:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
  .tmz-ci:hover small{color:#A9BDD3}
  .tmz-ci:hover .tmz-ic--dark{background:rgba(127,227,234,.12);border-color:rgba(127,227,234,.28);color:var(--tmz-aqua)}
  a.tmz-ci:hover > span:last-child{transform:translateX(calc(4px * var(--tmz-dir)))}
  a.tmz-ci:hover .tmz-ic--dark{background:var(--tmz-primary);border-color:var(--tmz-primary);color:#fff;transform:translateY(-1px);box-shadow:0 10px 20px -10px rgba(var(--tmz-primary-rgb),.8)}

  /* Footer bottom links draw their underline; social icons rise */
  .tmz-ftr-bot a:hover{color:#fff;background-size:100% 1px}
  .tmz-soc a:hover{transform:translateY(-2px);box-shadow:0 10px 20px -10px rgba(var(--tmz-primary-rgb),.6)}

  /* Buttons */
  .tmz-btn--ghost:hover,.tmz-iconbtn:hover,.tmz-lang:hover,.tmz-totop:hover{box-shadow:0 10px 20px -14px rgba(var(--tmz-primary-rgb),.45)}
  .tmz-btn--white:hover{box-shadow:0 14px 28px -16px rgba(3,14,30,.5)}
  .tmz-fab:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 18px 34px -14px rgba(37,211,102,.85)}
}

@media (prefers-reduced-motion:reduce){
  .tmz-card,.tmz-svc,.tmz-area,.tmz-post,.tmz-fpost,.tmz-tst,.tmz-cc-item,.tmz-mini-area,.tmz-pn a,.tmz-help,.tmz-surf span,.tmz-tech,.tmz-cmp--new,.tmz-ftr ul a,.tmz-ci > span:last-child{transform:none!important}
}

/* ---- 6. Header dropdowns: open softly, linger a moment on the way out ---
   The short closing delay stops a submenu from vanishing when the pointer
   cuts a corner on its way into it. */
.tmz-nav__sub{transform:translateY(8px) scale(.985);transform-origin:50% 0;transition:opacity .3s var(--tmz-ease-out) .1s,transform .45s var(--tmz-ease-out) .1s,visibility 0s linear .55s}
.tmz-nav__item:hover > .tmz-nav__sub,.tmz-nav__item:focus-within > .tmz-nav__sub{transform:none;transition:opacity .4s var(--tmz-ease-out),transform .55s var(--tmz-ease-out),visibility 0s}

/* ---- 7. Image fades: home slider + page banners -------------------------
   The photo no longer meets the text panel at a hard edge. Its inner edge
   dissolves through an eased mask (many stops, so no banding), a light
   veil keeps the text readable, and a soft brand-blue glow sits behind
   the copy. The direction follows the language (photo on the end side). */
:root{--tmz-fade-to:to right;--tmz-glow-x:14%}
html[dir=rtl]{--tmz-fade-to:to left;--tmz-glow-x:86%}

.tmz-hs-media,.tmz-pbx-media{
  -webkit-mask-image:linear-gradient(var(--tmz-fade-to),transparent 0%,rgba(0,0,0,.03) 5%,rgba(0,0,0,.1) 11%,rgba(0,0,0,.22) 18%,rgba(0,0,0,.38) 25%,rgba(0,0,0,.56) 32%,rgba(0,0,0,.73) 39%,rgba(0,0,0,.87) 46%,rgba(0,0,0,.96) 53%,#000 60%);
  mask-image:linear-gradient(var(--tmz-fade-to),transparent 0%,rgba(0,0,0,.03) 5%,rgba(0,0,0,.1) 11%,rgba(0,0,0,.22) 18%,rgba(0,0,0,.38) 25%,rgba(0,0,0,.56) 32%,rgba(0,0,0,.73) 39%,rgba(0,0,0,.87) 46%,rgba(0,0,0,.96) 53%,#000 60%);
}

/* Slider */
.tmz-hs{background:
  radial-gradient(52% 70% at var(--tmz-glow-x) 56%,rgba(var(--tmz-primary-rgb),.22) 0%,rgba(var(--tmz-primary-rgb),.09) 42%,rgba(var(--tmz-primary-rgb),0) 72%),
  radial-gradient(40% 50% at var(--tmz-glow-x) 100%,rgba(127,227,234,.08) 0%,rgba(127,227,234,0) 70%),
  radial-gradient(80% 120% at 100% 0%,var(--tmz-dark-3) 0%,transparent 55%),
  linear-gradient(140deg,var(--tmz-dark) 0%,var(--tmz-dark-2) 55%,var(--tmz-dark-2) 100%)}
.tmz-hs-media::after{background:
  linear-gradient(var(--tmz-fade-to),rgba(var(--tmz-dark-rgb),.42) 0%,rgba(var(--tmz-dark-rgb),.24) 18%,rgba(var(--tmz-dark-rgb),.08) 38%,rgba(var(--tmz-dark-rgb),0) 60%),
  linear-gradient(to top,rgba(var(--tmz-dark-rgb),.94) 0%,rgba(var(--tmz-dark-rgb),.72) 10%,rgba(var(--tmz-dark-rgb),.42) 22%,rgba(var(--tmz-dark-rgb),.16) 36%,rgba(var(--tmz-dark-rgb),0) 50%),
  linear-gradient(to bottom,rgba(var(--tmz-dark-rgb),.5) 0%,rgba(var(--tmz-dark-rgb),.16) 12%,rgba(var(--tmz-dark-rgb),0) 26%)}

/* Page banners */
.tmz-pbx{background:
  radial-gradient(48% 90% at var(--tmz-glow-x) 60%,rgba(var(--tmz-primary-rgb),.2) 0%,rgba(var(--tmz-primary-rgb),.08) 45%,rgba(var(--tmz-primary-rgb),0) 75%),
  radial-gradient(90% 140% at 100% 0%,var(--tmz-dark-3) 0%,transparent 55%),
  linear-gradient(140deg,var(--tmz-dark) 0%,var(--tmz-dark-2) 60%,var(--tmz-dark-2) 100%)}
.tmz-pbx-media::after{background:
  linear-gradient(var(--tmz-fade-to),rgba(var(--tmz-dark-rgb),.38) 0%,rgba(var(--tmz-dark-rgb),.16) 30%,rgba(var(--tmz-dark-rgb),.04) 55%,rgba(var(--tmz-dark-rgb),0) 75%),
  linear-gradient(to top,rgba(var(--tmz-dark-rgb),.82) 0%,rgba(var(--tmz-dark-rgb),.5) 14%,rgba(var(--tmz-dark-rgb),.2) 30%,rgba(var(--tmz-dark-rgb),0) 48%),
  linear-gradient(to bottom,rgba(var(--tmz-dark-rgb),.3) 0%,rgba(var(--tmz-dark-rgb),0) 20%)}

/* Tablet / mobile: the photo spans the whole width behind the text, so it
   fades vertically instead — clear at the top, deep where the text sits. */
@media (max-width:1120px){
  .tmz-hs-media,.tmz-pbx-media{-webkit-mask-image:none;mask-image:none}
  .tmz-hs{--tmz-glow-x:50%}
  .tmz-hs-media::after{background:
    linear-gradient(to top,var(--tmz-dark) 0%,rgba(var(--tmz-dark-rgb),.97) 20%,rgba(var(--tmz-dark-rgb),.88) 34%,rgba(var(--tmz-dark-rgb),.7) 48%,rgba(var(--tmz-dark-rgb),.5) 62%,rgba(var(--tmz-dark-rgb),.36) 78%,rgba(var(--tmz-dark-rgb),.42) 100%),
    radial-gradient(90% 50% at 50% 70%,rgba(var(--tmz-primary-rgb),.18),rgba(var(--tmz-primary-rgb),0) 70%)}
  .tmz-pbx-media::after{background:
    linear-gradient(var(--tmz-fade-to),rgba(var(--tmz-dark-rgb),.86) 0%,rgba(var(--tmz-dark-rgb),.7) 35%,rgba(var(--tmz-dark-rgb),.5) 70%,rgba(var(--tmz-dark-rgb),.42) 100%),
    linear-gradient(to top,rgba(var(--tmz-dark-rgb),.7) 0%,rgba(var(--tmz-dark-rgb),0) 45%)}
}
