/*
Theme Name: Techamax Secure
Theme URI: https://techamax.ir/
Author: Techamax
Description: پوسته اختصاصی، سریع و راست‌چین تکامکس با پشتیبانی از ووکامرس.
Version: 3.0.0
Text Domain: techamax-secure
Requires at least: 6.5
Requires PHP: 8.1
*/

:root {
  --tx-bg: #071411;
  --tx-bg-soft: #0c201b;
  --tx-surface: #102b24;
  --tx-surface-2: #16372f;
  --tx-ink: #f4fbf8;
  --tx-muted: #a9c2ba;
  --tx-green: #52e3a4;
  --tx-green-2: #a5f3cf;
  --tx-cyan: #49c9e8;
  --tx-accent: #ffd166;
  --tx-danger: #ff7a86;
  --tx-line: rgba(196, 238, 223, .14);
  --tx-shadow: 0 24px 70px rgba(0, 0, 0, .28);
  --tx-radius: 24px;
  --tx-radius-sm: 15px;
  --tx-max: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--tx-ink);
  background:
    radial-gradient(circle at 12% 7%, rgba(73, 201, 232, .08), transparent 34rem),
    radial-gradient(circle at 88% 22%, rgba(82, 227, 164, .10), transparent 30rem),
    var(--tx-bg);
  font-family: Tahoma, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.9;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }

.screen-reader-text,
.skip-link:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link:focus {
  position: fixed;
  inset: 12px auto auto 12px;
  z-index: 99999;
  padding: 10px 16px;
  color: #071411;
  background: var(--tx-green);
  border-radius: 10px;
}

.tx-container { width: min(calc(100% - 36px), var(--tx-max)); margin-inline: auto; }

.tx-topbar {
  border-bottom: 1px solid var(--tx-line);
  background: rgba(3, 13, 11, .86);
  color: var(--tx-muted);
  font-size: 13px;
}

.tx-topbar__inner {
  min-height: 39px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.tx-topbar__links { display: flex; align-items: center; gap: 18px; direction: ltr; }
.tx-topbar a:hover { color: var(--tx-green-2); }

.tx-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid var(--tx-line);
  background: rgba(7, 20, 17, .86);
  backdrop-filter: blur(18px);
}

.admin-bar .tx-header { top: 32px; }

.tx-header__inner {
  min-height: 78px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
}

.tx-brand { display: inline-flex; align-items: center; gap: 11px; }
.tx-brand__mark {
  width: 42px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  color: #04120e;
  background: linear-gradient(145deg, var(--tx-green-2), var(--tx-green));
  border-radius: 13px 13px 13px 4px;
  box-shadow: 0 10px 28px rgba(82, 227, 164, .24);
  font-weight: 900;
  font-size: 19px;
}
.tx-brand__name { display: block; font-size: 19px; line-height: 1.1; font-weight: 900; letter-spacing: -.5px; }
.tx-brand__tag { display: block; margin-top: 5px; color: var(--tx-muted); font-size: 10px; font-weight: 400; }

.tx-nav ul { margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; gap: 7px; list-style: none; }
.tx-nav a { display: block; padding: 9px 13px; color: #dcebe6; border-radius: 11px; font-size: 14px; font-weight: 700; }
.tx-nav a:hover, .tx-nav .current-menu-item > a { color: #061611; background: var(--tx-green); }

.tx-header__actions { display: flex; align-items: center; gap: 10px; }
.tx-cart {
  min-width: 45px;
  height: 43px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding-inline: 13px;
  border: 1px solid var(--tx-line);
  border-radius: 13px;
  background: rgba(255, 255, 255, .035);
}
.tx-cart:hover { border-color: rgba(82, 227, 164, .5); color: var(--tx-green-2); }
.tx-cart__count { min-width: 20px; height: 20px; display: grid; place-items: center; color: #071411; background: var(--tx-green); border-radius: 99px; font-size: 11px; font-weight: 900; }

.tx-mobile-nav { display: none; position: relative; }
.tx-mobile-nav summary { width: 44px; height: 42px; display: grid; place-items: center; border: 1px solid var(--tx-line); border-radius: 12px; cursor: pointer; list-style: none; }
.tx-mobile-nav summary::-webkit-details-marker { display: none; }
.tx-mobile-nav ul { position: absolute; inset: 52px auto auto 0; width: min(310px, calc(100vw - 36px)); margin: 0; padding: 12px; list-style: none; background: #10251f; border: 1px solid var(--tx-line); border-radius: 16px; box-shadow: var(--tx-shadow); }
.tx-mobile-nav a { display: block; padding: 10px 12px; border-radius: 9px; }
.tx-mobile-nav a:hover { background: var(--tx-surface-2); }

.tx-main { min-height: 62vh; }

.tx-hero { position: relative; overflow: hidden; padding: 92px 0 70px; }
.tx-hero::before {
  content: "";
  position: absolute;
  width: 540px;
  height: 540px;
  inset: -170px -170px auto auto;
  border: 1px solid rgba(82, 227, 164, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(82, 227, 164, .025), 0 0 0 140px rgba(73, 201, 232, .018);
}

.tx-hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 70px; }
.tx-eyebrow { margin: 0 0 16px; color: var(--tx-green-2); font-size: 13px; font-weight: 800; letter-spacing: .4px; }
.tx-hero h1 { max-width: 760px; margin: 0; font-size: clamp(42px, 6vw, 78px); line-height: 1.18; letter-spacing: -2.7px; }
.tx-gradient-text { color: transparent; background: linear-gradient(90deg, var(--tx-green-2), var(--tx-cyan)); background-clip: text; -webkit-background-clip: text; }
.tx-hero__lead { max-width: 650px; margin: 24px 0 0; color: var(--tx-muted); font-size: clamp(16px, 2vw, 19px); }
.tx-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

.tx-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 21px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #04120e !important;
  background: linear-gradient(135deg, var(--tx-green-2), var(--tx-green)) !important;
  box-shadow: 0 13px 32px rgba(82, 227, 164, .18);
  font-weight: 900;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.tx-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { transform: translateY(-2px); box-shadow: 0 17px 38px rgba(82, 227, 164, .27); }
.tx-button--ghost { color: var(--tx-ink) !important; background: rgba(255, 255, 255, .035) !important; border-color: var(--tx-line); box-shadow: none; }

.tx-hero-card {
  position: relative;
  min-height: 440px;
  padding: 25px;
  border: 1px solid rgba(165, 243, 207, .18);
  border-radius: 32px;
  background: linear-gradient(155deg, rgba(22, 55, 47, .88), rgba(7, 20, 17, .94));
  box-shadow: var(--tx-shadow);
}
.tx-hero-card::after { content: ""; position: absolute; inset: 18px; border: 1px dashed rgba(165, 243, 207, .13); border-radius: 23px; pointer-events: none; }
.tx-card-head { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tx-status { display: inline-flex; align-items: center; gap: 8px; color: var(--tx-green-2); font-size: 12px; font-weight: 800; }
.tx-status::before { content: ""; width: 8px; height: 8px; background: var(--tx-green); border-radius: 50%; box-shadow: 0 0 0 6px rgba(82, 227, 164, .11); }
.tx-card-chip { padding: 5px 9px; color: var(--tx-muted); border: 1px solid var(--tx-line); border-radius: 99px; font-size: 10px; }
.tx-circuit { position: relative; z-index: 1; margin-top: 36px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
.tx-zone { min-height: 132px; padding: 17px; border: 1px solid var(--tx-line); border-radius: 18px; background: rgba(255,255,255,.026); }
.tx-zone__top { display: flex; justify-content: space-between; color: var(--tx-muted); font-size: 11px; }
.tx-zone__value { margin-top: 14px; font-size: 27px; font-weight: 900; }
.tx-zone__bar { height: 6px; margin-top: 16px; overflow: hidden; background: rgba(255,255,255,.07); border-radius: 99px; }
.tx-zone__bar span { display: block; height: 100%; width: var(--level); background: linear-gradient(90deg, var(--tx-cyan), var(--tx-green)); border-radius: inherit; }
.tx-card-foot { position: relative; z-index: 1; margin-top: 18px; padding: 13px 15px; display: flex; justify-content: space-between; gap: 12px; color: var(--tx-muted); background: rgba(0,0,0,.16); border-radius: 14px; font-size: 11px; }

.tx-trust { border-block: 1px solid var(--tx-line); background: rgba(255,255,255,.018); }
.tx-trust__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.tx-trust__item { padding: 22px 26px; display: flex; align-items: center; gap: 13px; }
.tx-trust__item + .tx-trust__item { border-right: 1px solid var(--tx-line); }
.tx-trust__icon { width: 38px; height: 38px; display: grid; place-items: center; color: var(--tx-green-2); border: 1px solid rgba(82,227,164,.26); border-radius: 12px; }
.tx-trust__item strong { display: block; font-size: 14px; }
.tx-trust__item small { display: block; color: var(--tx-muted); font-size: 11px; }

.tx-section { padding: 94px 0; }
.tx-section--soft { background: linear-gradient(180deg, rgba(16,43,36,.42), rgba(7,20,17,0)); }
.tx-section-head { max-width: 720px; margin-bottom: 38px; }
.tx-section-head h2 { margin: 0; font-size: clamp(30px, 4vw, 47px); line-height: 1.3; letter-spacing: -1.5px; }
.tx-section-head p { margin: 14px 0 0; color: var(--tx-muted); }

.tx-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.tx-feature-card { position: relative; min-height: 265px; padding: 28px; overflow: hidden; border: 1px solid var(--tx-line); border-radius: var(--tx-radius); background: linear-gradient(155deg, rgba(22,55,47,.72), rgba(11,30,25,.74)); }
.tx-feature-card::after { content: attr(data-index); position: absolute; inset: auto auto -25px 15px; color: rgba(255,255,255,.035); font-size: 110px; line-height: 1; font-weight: 900; }
.tx-feature-card__icon { width: 52px; height: 52px; display: grid; place-items: center; color: #071411; background: var(--tx-green); border-radius: 16px 16px 16px 5px; font-size: 20px; font-weight: 900; }
.tx-feature-card h3 { position: relative; z-index: 1; margin: 25px 0 9px; font-size: 20px; }
.tx-feature-card p { position: relative; z-index: 1; margin: 0; color: var(--tx-muted); font-size: 14px; }

.tx-process { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.tx-process__steps { display: grid; gap: 13px; }
.tx-step { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 20px; border: 1px solid var(--tx-line); border-radius: 18px; background: rgba(255,255,255,.022); }
.tx-step__num { width: 44px; height: 44px; display: grid; place-items: center; color: var(--tx-green-2); border: 1px solid rgba(82,227,164,.25); border-radius: 13px; font-size: 12px; font-weight: 900; }
.tx-step h3 { margin: 0 0 4px; font-size: 16px; }
.tx-step p { margin: 0; color: var(--tx-muted); font-size: 13px; }

.tx-cta { padding: 0 0 90px; }
.tx-cta__box { position: relative; overflow: hidden; padding: 48px; display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; border: 1px solid rgba(82,227,164,.22); border-radius: 30px; background: linear-gradient(120deg, rgba(22,55,47,.9), rgba(11,34,29,.92)); box-shadow: var(--tx-shadow); }
.tx-cta__box::after { content: "TX"; position: absolute; inset: auto auto -50px 30px; color: rgba(255,255,255,.035); font-size: 180px; line-height: 1; font-weight: 900; }
.tx-cta h2 { position: relative; z-index: 1; margin: 0; font-size: clamp(28px, 4vw, 44px); }
.tx-cta p { position: relative; z-index: 1; margin: 8px 0 0; color: var(--tx-muted); }
.tx-cta .tx-button { position: relative; z-index: 1; }

.tx-content { padding: 70px 0 90px; }
.tx-page-head { margin-bottom: 30px; padding-bottom: 25px; border-bottom: 1px solid var(--tx-line); }
.tx-page-head h1 { margin: 0; font-size: clamp(34px, 5vw, 56px); line-height: 1.3; }
.tx-entry { max-width: 900px; }
.tx-entry h2, .tx-entry h3 { margin-top: 2em; line-height: 1.45; }
.tx-entry p, .tx-entry li { color: #c6d9d3; }
.tx-entry a { color: var(--tx-green-2); text-decoration: underline; text-underline-offset: 4px; }
.tx-entry ul { padding-right: 20px; }
.tx-entry table { width: 100%; border-collapse: collapse; }
.tx-entry th, .tx-entry td { padding: 12px; border: 1px solid var(--tx-line); text-align: right; }

.tx-contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 24px 0; }
.tx-contact-card { padding: 20px; border: 1px solid var(--tx-line); border-radius: 16px; background: rgba(255,255,255,.025); }
.tx-contact-card small { display: block; color: var(--tx-muted); }
.tx-contact-card strong { display: block; margin-top: 5px; }

.tx-footer { border-top: 1px solid var(--tx-line); background: #04100d; }
.tx-footer__grid { padding: 60px 0 42px; display: grid; grid-template-columns: 1.25fr .8fr .9fr .65fr; gap: 42px; }
.tx-footer h3 { margin: 0 0 15px; font-size: 15px; }
.tx-footer p, .tx-footer li, .tx-footer address { color: var(--tx-muted); font-size: 13px; font-style: normal; }
.tx-footer ul { margin: 0; padding: 0; list-style: none; }
.tx-footer li + li { margin-top: 7px; }
.tx-footer a:hover { color: var(--tx-green-2); }
.tx-enamad-placeholder { min-height: 105px; padding: 12px; display: grid; place-items: center; text-align: center; color: var(--tx-muted); border: 1px dashed rgba(165,243,207,.22); border-radius: 15px; background: rgba(255,255,255,.02); font-size: 11px; }
.tx-footer__bottom { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--tx-line); color: #78938a; font-size: 11px; }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { margin-bottom: 22px; color: var(--tx-muted); font-size: 12px; }
.woocommerce div.product { display: grid; grid-template-columns: .88fr 1.12fr; gap: 50px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; }
.woocommerce div.product div.images img { border-radius: 22px; background: #fff; }
.woocommerce div.product .product_title { font-size: clamp(31px, 4vw, 49px); line-height: 1.35; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--tx-green-2); font-size: 25px; font-weight: 900; }
.woocommerce .quantity .qty, .woocommerce input.input-text, .woocommerce select, .woocommerce textarea {
  min-height: 46px;
  color: var(--tx-ink);
  background: rgba(255,255,255,.045);
  border: 1px solid var(--tx-line);
  border-radius: 12px;
}
.woocommerce input.input-text, .woocommerce textarea { padding: 9px 12px; }
.woocommerce .quantity .qty { width: 72px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--tx-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 0 0 8px; color: var(--tx-muted); background: var(--tx-surface); border-color: var(--tx-line); border-radius: 12px 12px 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { color: var(--tx-ink); background: var(--tx-surface-2); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 18px; border: 1px solid var(--tx-line); border-radius: 20px; background: rgba(255,255,255,.024); }
.woocommerce ul.products li.product a img { border-radius: 15px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--tx-ink); font-size: 16px; }
.woocommerce ul.products li.product .price { color: var(--tx-green-2); font-weight: 900; }
.woocommerce table.shop_table { border-color: var(--tx-line); border-radius: 16px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--tx-line); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { color: var(--tx-ink); background: var(--tx-surface); border-top-color: var(--tx-green); }
.woocommerce-info::before, .woocommerce-message::before { color: var(--tx-green); }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border-color: var(--tx-line); border-radius: 16px; }
.woocommerce-checkout #payment { color: var(--tx-ink); background: var(--tx-surface); border-radius: 16px; }
.woocommerce-checkout #payment div.payment_box { color: var(--tx-ink); background: var(--tx-surface-2); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--tx-surface-2); }
.techamax-product-facts { margin: 22px 0; padding: 18px; border: 1px solid var(--tx-line); border-radius: 16px; background: rgba(82,227,164,.045); }
.techamax-product-facts h3 { margin: 0 0 10px; font-size: 15px; }
.techamax-product-facts dl { margin: 0; display: grid; grid-template-columns: 150px 1fr; gap: 7px 15px; font-size: 13px; }
.techamax-product-facts dt { color: var(--tx-muted); }
.techamax-product-facts dd { margin: 0; }

@media (max-width: 980px) {
  .tx-header__inner { grid-template-columns: auto 1fr; }
  .tx-nav { display: none; }
  .tx-header__actions { justify-self: end; }
  .tx-mobile-nav { display: block; }
  .tx-hero__grid, .tx-process { grid-template-columns: 1fr; }
  .tx-hero-card { max-width: 660px; width: 100%; }
  .tx-card-grid { grid-template-columns: repeat(2, 1fr); }
  .tx-footer__grid { grid-template-columns: repeat(2, 1fr); }
  .woocommerce div.product { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .admin-bar .tx-header { top: 46px; }
  .tx-container { width: min(calc(100% - 24px), var(--tx-max)); }
  .tx-topbar__inner { padding-block: 7px; align-items: flex-start; flex-direction: column; gap: 2px; }
  .tx-topbar__links { gap: 11px; flex-wrap: wrap; }
  .tx-header__inner { min-height: 70px; gap: 12px; }
  .tx-brand__tag { display: none; }
  .tx-cart { min-width: 42px; padding-inline: 10px; }
  .tx-hero { padding: 62px 0 48px; }
  .tx-hero h1 { font-size: 43px; letter-spacing: -1.7px; }
  .tx-hero__grid { gap: 40px; }
  .tx-hero-card { min-height: 400px; padding: 17px; border-radius: 22px; }
  .tx-circuit { gap: 9px; }
  .tx-zone { min-height: 122px; padding: 13px; }
  .tx-zone__value { font-size: 22px; }
  .tx-trust__grid { grid-template-columns: 1fr; }
  .tx-trust__item + .tx-trust__item { border-right: 0; border-top: 1px solid var(--tx-line); }
  .tx-section { padding: 70px 0; }
  .tx-card-grid, .tx-contact-grid { grid-template-columns: 1fr; }
  .tx-cta__box { padding: 30px 24px; grid-template-columns: 1fr; }
  .tx-footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .tx-footer__bottom { padding-block: 18px; flex-direction: column; align-items: flex-start; }
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .techamax-product-facts dl { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* =========================================================
   Techamax 3D brand system — v2
   ========================================================= */
@font-face {
  font-family: "Vazirmatn TX";
  src: url("assets/fonts/Vazirmatn.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --tx-bg: #050a0f;
  --tx-bg-soft: #09131b;
  --tx-surface: #0d1922;
  --tx-surface-2: #122733;
  --tx-ink: #f4f8fb;
  --tx-muted: #9cabb5;
  --tx-green: #18d5ca;
  --tx-green-2: #78fff2;
  --tx-cyan: #34bde8;
  --tx-line: rgba(159, 245, 239, .14);
  --tx-shadow: 0 34px 100px rgba(0, 0, 0, .52);
  --tx-radius: 30px;
  --tx-max: 1240px;
}

body {
  background:
    radial-gradient(circle at 13% 2%, rgba(24, 213, 202, .13), transparent 30rem),
    radial-gradient(circle at 88% 24%, rgba(52, 189, 232, .09), transparent 34rem),
    linear-gradient(180deg, #050a0f 0%, #061017 52%, #050a0f 100%);
  font-family: "Vazirmatn TX", Tahoma, sans-serif;
  font-size: 16px;
  line-height: 1.85;
}

.tx-topbar {
  border-color: rgba(255,255,255,.06);
  background: #03070b;
  color: #91a0aa;
  font-size: 12px;
}

.tx-header {
  border-color: rgba(115,255,241,.1);
  background: rgba(4, 10, 15, .78);
  box-shadow: 0 15px 50px rgba(0,0,0,.22);
  backdrop-filter: blur(24px) saturate(135%);
}

.tx-header__inner { min-height: 88px; gap: 30px; }
.tx-brand { flex: 0 0 auto; }
.tx-brand__frame {
  width: 245px;
  height: 66px;
  display: block;
  overflow: hidden;
  border-radius: 13px;
  background: #070b10;
}
.tx-brand__logo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 48%;
}
.tx-brand__frame--footer { width: 285px; height: 78px; margin-bottom: 18px; }

.tx-nav a {
  position: relative;
  padding: 10px 15px;
  color: #d8e1e7;
  font-size: 14px;
  font-weight: 550;
}
.tx-nav a::after {
  content: "";
  position: absolute;
  height: 2px;
  inset: auto 16px 3px;
  background: linear-gradient(90deg, transparent, var(--tx-green), transparent);
  transform: scaleX(0);
  transition: transform .25s ease;
}
.tx-nav a:hover, .tx-nav .current-menu-item > a { color: #fff; background: rgba(24,213,202,.08); }
.tx-nav a:hover::after, .tx-nav .current-menu-item > a::after { transform: scaleX(1); }

.tx-cart {
  height: 46px;
  border-color: rgba(99,255,240,.18);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.015));
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 12px 32px rgba(0,0,0,.2);
}
.tx-cart__icon { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tx-cart__count { color: #02100f; background: linear-gradient(145deg, #8afff4, #13d2c6); box-shadow: 0 0 18px rgba(24,213,202,.35); }

.tx-hero {
  min-height: 760px;
  padding: 86px 0 76px;
  overflow: clip;
  isolation: isolate;
}
.tx-hero::before {
  width: 680px;
  height: 680px;
  inset: -270px -250px auto auto;
  border-color: rgba(60,229,218,.14);
  box-shadow: 0 0 0 82px rgba(24,213,202,.018), 0 0 0 165px rgba(52,189,232,.012);
}
.tx-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 56vw;
  height: 56vw;
  max-width: 820px;
  max-height: 820px;
  left: -22vw;
  top: 2%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(15,215,202,.14), rgba(15,215,202,0) 68%);
  filter: blur(12px);
}
.tx-hero__grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  grid-template-areas: "visual copy";
  direction: ltr;
  gap: 62px;
}
.tx-hero__copy { grid-area: copy; direction: rtl; position: relative; z-index: 3; }
.tx-hero-visual { grid-area: visual; direction: rtl; }
.tx-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 19px;
  color: #9cfbf2;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
}
.tx-eyebrow > span { width: 29px; height: 1px; background: linear-gradient(90deg, transparent, var(--tx-green)); box-shadow: 0 0 10px var(--tx-green); }
.tx-hero h1 {
  max-width: 620px;
  font-size: clamp(48px, 5.6vw, 82px);
  line-height: 1.1;
  letter-spacing: -3.8px;
  font-weight: 790;
  text-wrap: balance;
  text-shadow: 0 15px 45px rgba(0,0,0,.25);
}
.tx-gradient-text {
  background: linear-gradient(105deg, #f7ffff 0%, #74fff1 43%, #27bfe7 100%);
  background-clip: text;
  -webkit-background-clip: text;
  filter: drop-shadow(0 9px 24px rgba(24,213,202,.13));
}
.tx-hero__lead { max-width: 610px; margin-top: 25px; color: #b5c1c8; font-size: clamp(16px, 1.6vw, 18px); font-weight: 350; }
.tx-actions { margin-top: 30px; }
.tx-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  min-height: 52px;
  padding: 12px 24px;
  border-radius: 16px;
  color: #021311 !important;
  background: linear-gradient(135deg, #9dfff5 0%, #24d7ca 58%, #20b8dd 100%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.55), 0 15px 42px rgba(24,213,202,.22), 0 3px 0 #079c96;
  font-weight: 750;
}
.tx-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { transform: translateY(-3px); box-shadow: inset 0 1px rgba(255,255,255,.7), 0 22px 50px rgba(24,213,202,.32), 0 3px 0 #079c96; }
.tx-button--ghost { color: #edf9f8 !important; background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02)) !important; border-color: rgba(139,255,245,.2); box-shadow: inset 0 1px rgba(255,255,255,.08), 0 14px 35px rgba(0,0,0,.2); }

.tx-hero__meta { margin-top: 36px; display: flex; gap: 0; border-top: 1px solid rgba(255,255,255,.08); padding-top: 22px; }
.tx-hero__meta > span { min-width: 124px; padding-inline: 18px; border-right: 1px solid rgba(255,255,255,.08); }
.tx-hero__meta > span:first-child { padding-right: 0; border-right: 0; }
.tx-hero__meta strong, .tx-hero__meta small { display: block; }
.tx-hero__meta strong { color: #f4fbfb; font-size: 14px; font-weight: 650; }
.tx-hero__meta small { color: #748690; font-size: 10px; font-weight: 350; }

.tx-hero-visual { position: relative; min-width: 0; perspective: 1400px; }
.tx-hero-visual__glow { position: absolute; inset: 14% 2%; background: rgba(19,216,204,.18); filter: blur(70px); border-radius: 50%; }
.tx-hero-visual__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.27;
  border: 1px solid rgba(137,255,245,.22);
  border-radius: 38px;
  background: #03070a;
  box-shadow: inset 0 1px rgba(255,255,255,.12), inset 0 -30px 60px rgba(0,0,0,.25), 0 50px 110px rgba(0,0,0,.58), -20px 15px 65px rgba(13,202,193,.1);
  transform: rotateY(5deg) rotateX(2deg) translateZ(0);
  transform-origin: 50% 50%;
  transition: transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .55s ease;
}
.tx-hero-visual:hover .tx-hero-visual__frame { transform: rotateY(0) rotateX(0) translateY(-6px); box-shadow: inset 0 1px rgba(255,255,255,.16), 0 58px 130px rgba(0,0,0,.65), 0 0 75px rgba(13,202,193,.12); }
.tx-hero-visual__frame::after { content:""; position:absolute; inset:0; background: linear-gradient(120deg, rgba(255,255,255,.12), transparent 20%, transparent 72%, rgba(19,216,204,.08)); pointer-events:none; }
.tx-hero-visual__frame img { width: 100%; height: 100%; object-fit: cover; object-position: 48% center; display: block; transform: scale(1.015); }
.tx-float-card {
  position: absolute;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  color: #e7fdfb;
  border: 1px solid rgba(128,255,245,.22);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(18,38,48,.82), rgba(5,14,20,.7));
  box-shadow: inset 0 1px rgba(255,255,255,.11), 0 18px 50px rgba(0,0,0,.45);
  backdrop-filter: blur(18px);
  font-size: 11px;
  animation: txFloat 5s ease-in-out infinite;
}
.tx-float-card i { width: 7px; height: 7px; border-radius: 50%; background: var(--tx-green); box-shadow: 0 0 0 5px rgba(24,213,202,.11), 0 0 17px var(--tx-green); }
.tx-float-card strong, .tx-float-card small { display: block; }
.tx-float-card strong { font-size: 13px; }
.tx-float-card small { color: #8799a4; font-size: 9px; }
.tx-float-card svg { width: 25px; fill: none; stroke: var(--tx-green-2); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.tx-float-card--top { inset: -20px auto auto 52px; }
.tx-float-card--side { inset: 30% -18px auto auto; display: block; text-align: center; animation-delay: -1.5s; }
.tx-float-card--side strong { color: var(--tx-green-2); font-size: 20px; line-height: 1.1; }
.tx-float-card--bottom { inset: auto 48px -24px auto; animation-delay: -3s; }
@keyframes txFloat { 0%,100% { transform: translateY(0) rotate(-.5deg); } 50% { transform: translateY(-9px) rotate(.6deg); } }

.tx-trust { position: relative; z-index: 3; border-color: rgba(255,255,255,.07); background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)); backdrop-filter: blur(12px); }
.tx-trust__item { padding-block: 24px; }
.tx-trust__item + .tx-trust__item { border-color: rgba(255,255,255,.07); }
.tx-trust__icon { border-radius: 14px; background: linear-gradient(145deg, rgba(34,225,211,.16), rgba(255,255,255,.025)); box-shadow: inset 0 1px rgba(255,255,255,.08), 0 13px 35px rgba(0,0,0,.22); }
.tx-trust__icon svg { width: 21px; fill: none; stroke: var(--tx-green-2); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tx-trust__item strong { font-weight: 650; }
.tx-trust__item small { font-weight: 350; }

.tx-section { position: relative; padding: 112px 0; }
.tx-section--soft { background: radial-gradient(circle at 70% 0%, rgba(18,213,202,.08), transparent 34rem), linear-gradient(180deg, rgba(13,25,34,.76), rgba(5,10,15,0)); }
.tx-section-head h2 { font-size: clamp(32px, 4.2vw, 52px); line-height: 1.28; letter-spacing: -2px; font-weight: 720; }
.tx-section-head p { color: #99aab4; font-weight: 350; }
.tx-card-grid { perspective: 1200px; gap: 22px; }
.tx-feature-card {
  min-height: 306px;
  padding: 31px;
  border-color: rgba(122,255,245,.15);
  border-radius: 29px;
  background: radial-gradient(circle at 15% 0%, rgba(37,218,205,.13), transparent 13rem), linear-gradient(150deg, rgba(18,36,46,.96), rgba(6,15,22,.92));
  box-shadow: inset 0 1px rgba(255,255,255,.07), 0 28px 75px rgba(0,0,0,.26);
  transform: translateZ(0);
  transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease;
}
.tx-feature-card:hover { transform: translateY(-12px) rotateX(3deg) rotateY(-2deg); border-color: rgba(92,255,242,.35); box-shadow: inset 0 1px rgba(255,255,255,.1), 0 38px 90px rgba(0,0,0,.42), 0 0 44px rgba(24,213,202,.08); }
.tx-feature-card::before { content:""; position:absolute; inset:0; border-radius:inherit; background: linear-gradient(120deg, rgba(255,255,255,.08), transparent 19%, transparent 70%); pointer-events:none; }
.tx-feature-card::after { inset: auto auto -28px 14px; color: rgba(255,255,255,.024); font-size: 125px; }
.tx-feature-card__icon { width: 58px; height: 58px; color: var(--tx-green-2); background: linear-gradient(145deg, rgba(75,255,242,.2), rgba(10,27,35,.8)); border: 1px solid rgba(110,255,244,.25); border-radius: 18px; box-shadow: inset 0 1px rgba(255,255,255,.12), 0 17px 35px rgba(0,0,0,.28), 0 0 25px rgba(24,213,202,.08); }
.tx-feature-card__icon svg { width: 28px; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.tx-feature-card h3 { margin-top: 30px; font-size: 21px; font-weight: 680; }
.tx-feature-card p { color: #95a7b2; font-weight: 350; }
.tx-feature-card__line { position: absolute; height: 2px; width: 58px; inset: auto 31px 25px auto; background: linear-gradient(90deg, var(--tx-green), transparent); box-shadow: 0 0 18px rgba(24,213,202,.45); }

.tx-showcase { position: relative; overflow: hidden; padding: 112px 0; border-block: 1px solid rgba(255,255,255,.055); background: radial-gradient(circle at 18% 45%, rgba(24,213,202,.11), transparent 28rem), #060d13; }
.tx-showcase__grid { display: grid; grid-template-columns: 1.08fr .92fr; grid-template-areas: "scene copy"; direction: ltr; gap: 80px; align-items: center; }
.tx-showcase__scene { grid-area: scene; direction: rtl; position: relative; min-height: 520px; perspective: 1200px; }
.tx-showcase__copy { grid-area: copy; direction: rtl; }
.tx-showcase__copy h2 { margin: 0; font-size: clamp(34px,4.3vw,55px); line-height: 1.25; letter-spacing: -2px; font-weight: 720; }
.tx-showcase__copy > p:not(.tx-eyebrow) { color: #9cabb5; font-weight: 350; }
.tx-showcase__copy ul { margin: 29px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.tx-showcase__copy li { display: grid; grid-template-columns: 46px 1fr; gap: 14px; align-items: center; padding: 14px; border: 1px solid rgba(255,255,255,.07); border-radius: 16px; background: rgba(255,255,255,.025); }
.tx-showcase__copy li > span { width: 43px; height: 43px; display: grid; place-items: center; color: var(--tx-green-2); border: 1px solid rgba(99,255,242,.22); border-radius: 13px; font-size: 11px; box-shadow: inset 0 1px rgba(255,255,255,.06); }
.tx-showcase__copy li strong, .tx-showcase__copy li small { display: block; }
.tx-showcase__copy li strong { font-size: 14px; font-weight: 620; }
.tx-showcase__copy li small { color: #7f919c; font-size: 11px; font-weight: 350; }
.tx-core { position: absolute; z-index: 5; width: 220px; aspect-ratio: 1; inset: 50% auto auto 50%; display: grid; place-content: center; text-align: center; border: 1px solid rgba(103,255,243,.3); border-radius: 50px; background: radial-gradient(circle at 28% 18%, rgba(130,255,247,.18), transparent 30%), linear-gradient(145deg,#142832,#061016); box-shadow: inset 0 2px rgba(255,255,255,.13), inset 0 -30px 50px rgba(0,0,0,.32), 0 45px 80px rgba(0,0,0,.5), 0 0 70px rgba(24,213,202,.13); transform: translate(-50%,-50%) rotateX(58deg) rotateZ(-35deg); }
.tx-core::after { content:""; position:absolute; inset:13px; border:1px solid rgba(118,255,244,.13); border-radius:40px; }
.tx-core span, .tx-core strong { display:block; font-family:"Segoe UI",sans-serif; line-height:.9; letter-spacing:4px; }
.tx-core span { color:#d9e5e8; font-size:20px; font-weight:300; }
.tx-core strong { color:var(--tx-green); font-size:34px; }
.tx-orbit { position:absolute; inset:50% auto auto 50%; border:1px solid rgba(55,230,216,.16); border-radius:50%; transform:translate(-50%,-50%) rotateX(62deg) rotateZ(-20deg); }
.tx-orbit::after { content:""; position:absolute; width:10px; height:10px; border-radius:50%; background:var(--tx-green); box-shadow:0 0 18px var(--tx-green); top:7%; left:20%; }
.tx-orbit--one { width:390px; height:390px; }
.tx-orbit--two { width:510px; height:510px; opacity:.55; transform:translate(-50%,-50%) rotateX(62deg) rotateZ(25deg); }
.tx-layer { position:absolute; z-index:4; width:160px; padding:15px 17px; border:1px solid rgba(116,255,244,.2); border-radius:17px; background:linear-gradient(145deg,rgba(20,42,52,.86),rgba(5,14,20,.75)); box-shadow:inset 0 1px rgba(255,255,255,.1),0 25px 55px rgba(0,0,0,.42); backdrop-filter:blur(15px); transform:rotate(-4deg); }
.tx-layer small,.tx-layer strong { display:block; }
.tx-layer small { color:var(--tx-green); font-size:10px; }
.tx-layer strong { font-size:13px; font-weight:600; }
.tx-layer--one { inset:9% auto auto 7%; }
.tx-layer--two { inset:38% -2% auto auto; transform:rotate(4deg); }
.tx-layer--three { inset:auto auto 6% 18%; transform:rotate(2deg); }

.tx-process { gap: 82px; }
.tx-step { padding: 22px; border-color: rgba(121,255,244,.13); background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); box-shadow: inset 0 1px rgba(255,255,255,.055), 0 18px 45px rgba(0,0,0,.16); transition: transform .25s ease, border-color .25s ease; }
.tx-step:hover { transform: translateX(-7px); border-color: rgba(97,255,243,.3); }
.tx-step__num { color: var(--tx-green-2); background: rgba(24,213,202,.06); }
.tx-step h3 { font-weight: 650; }
.tx-step p { color: #8ea0aa; font-weight: 350; }

.tx-cta__box { border-color: rgba(99,255,242,.24); background: radial-gradient(circle at 10% 50%,rgba(48,218,205,.18),transparent 20rem),linear-gradient(125deg,rgba(20,42,52,.98),rgba(6,16,23,.96)); box-shadow: inset 0 1px rgba(255,255,255,.1), 0 38px 100px rgba(0,0,0,.45); }
.tx-cta__box::after { content:"TECHAMAX"; inset:auto auto -36px 28px; color:rgba(255,255,255,.025); font-family:"Segoe UI",sans-serif; font-size:100px; letter-spacing:6px; }
.tx-cta h2 { font-weight:720; }

.tx-page-head h1, .woocommerce div.product .product_title { font-weight: 750; letter-spacing: -2px; }
.tx-entry p, .tx-entry li { font-weight: 350; }
.tx-contact-card, .woocommerce ul.products li.product, .techamax-product-facts { background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); box-shadow: inset 0 1px rgba(255,255,255,.05), 0 20px 50px rgba(0,0,0,.14); }
.tx-footer { background: #03080c; }
.tx-footer__grid { padding-top: 70px; }
.tx-footer h3 { font-weight: 650; }
.tx-footer p, .tx-footer li, .tx-footer address { font-weight: 350; }

@media (max-width: 1100px) {
  .tx-brand__frame { width: 210px; }
  .tx-header__inner { gap: 18px; }
  .tx-hero__grid { gap: 38px; }
  .tx-float-card--side { right: -8px; }
}

@media (max-width: 980px) {
  .tx-header__inner { grid-template-columns: 1fr auto; }
  .tx-hero { min-height: 0; }
  .tx-hero__grid { grid-template-columns: 1fr; grid-template-areas: "copy" "visual"; gap: 70px; }
  .tx-hero__copy { max-width: 760px; }
  .tx-hero-visual { width: min(760px,100%); margin-inline:auto; }
  .tx-showcase__grid { grid-template-columns: 1fr; grid-template-areas: "copy" "scene"; gap: 60px; }
  .tx-showcase__copy { max-width: 760px; }
  .tx-showcase__scene { width: min(680px,100%); margin-inline:auto; }
}

@media (max-width: 680px) {
  .tx-topbar__inner > span { display:none; }
  .tx-topbar__inner { min-height:34px; padding-block:5px; align-items:center; }
  .tx-topbar__links { width:100%; justify-content:center; font-size:11px; }
  .tx-header__inner { min-height:76px; }
  .tx-brand__frame { width: 173px; height: 56px; }
  .tx-cart { padding-inline:10px; }
  .tx-cart > span[aria-hidden="true"] { display:none; }
  .tx-cart__icon { display:block; }
  .tx-hero { padding:60px 0 64px; }
  .tx-hero h1 { font-size:44px; line-height:1.13; letter-spacing:-2.4px; }
  .tx-hero__lead { font-size:15px; }
  .tx-hero__meta { overflow-x:auto; }
  .tx-hero__meta > span { min-width:105px; padding-inline:12px; }
  .tx-hero-visual__frame { border-radius:26px; transform:none; aspect-ratio:1.05; }
  .tx-hero-visual__frame img { object-position:43% center; }
  .tx-float-card--top { left:18px; top:-19px; }
  .tx-float-card--side { right:-3px; top:30%; }
  .tx-float-card--bottom { right:17px; bottom:-22px; }
  .tx-section, .tx-showcase { padding:78px 0; }
  .tx-section-head h2, .tx-showcase__copy h2 { font-size:34px; letter-spacing:-1.3px; }
  .tx-feature-card { min-height:270px; }
  .tx-showcase__scene { min-height:420px; transform:scale(.86); transform-origin:center; }
  .tx-orbit--one { width:320px; height:320px; }
  .tx-orbit--two { width:410px; height:410px; }
  .tx-core { width:180px; }
  .tx-layer { width:140px; }
  .tx-layer--two { right:-7%; }
  .tx-cta__box::after { font-size:62px; }
  .tx-brand__frame--footer { width:250px; height:72px; }
}

@media (prefers-reduced-motion: reduce) {
  .tx-float-card { animation: none !important; }
}

/* =========================================================
   Techamax motion lab — v3
   ========================================================= */
@font-face {
  font-family: "Estedad TX";
  src: url("assets/fonts/Estedad.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --tx-parallax-y: 0px;
  --tx-scroll-progress: 0%;
}

body {
  font-family: "Estedad TX", "Vazirmatn TX", Tahoma, sans-serif;
  font-weight: 360;
}

.tx-nav a { font-weight: 480; }
.tx-hero h1 { font-weight: 610; letter-spacing: -2.5px; }
.tx-section-head h2,
.tx-showcase__copy h2,
.tx-cta h2,
.tx-page-head h1,
.woocommerce div.product .product_title { font-weight: 590; letter-spacing: -1.25px; }
.tx-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit { font-weight: 610; }
.tx-feature-card h3,
.tx-step h3,
.tx-showcase__copy li strong,
.tx-trust__item strong,
.tx-footer h3 { font-weight: 560; }
.tx-hero__lead,
.tx-section-head p,
.tx-feature-card p,
.tx-step p,
.tx-showcase__copy > p:not(.tx-eyebrow),
.tx-footer p,
.tx-footer li,
.tx-footer address,
.tx-entry p,
.tx-entry li { font-weight: 330; }

.tx-scroll-progress {
  position: fixed;
  z-index: 100000;
  inset: 0 0 auto;
  height: 2px;
  pointer-events: none;
  background: rgba(255,255,255,.025);
}
.tx-scroll-progress span {
  width: var(--tx-scroll-progress);
  height: 100%;
  display: block;
  background: linear-gradient(90deg, #15cfc4, #77fff2, #2bbce5);
  box-shadow: 0 0 15px rgba(58,255,239,.82);
  transition: width .08s linear;
}

.tx-pointer-light {
  position: fixed;
  z-index: 0;
  width: 480px;
  height: 480px;
  left: 0;
  top: 0;
  opacity: 0;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(34,221,209,.085) 0%, rgba(34,221,209,.035) 28%, transparent 68%);
  filter: blur(5px);
  mix-blend-mode: screen;
  transition: opacity .35s ease;
  will-change: transform;
}

.tx-main, .tx-header, .tx-topbar, .tx-footer { position: relative; z-index: 1; }
.tx-hero__grid { position: relative; z-index: 3; }
.tx-depth-canvas { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .82; }
.tx-hero-gridfx {
  position: absolute;
  z-index: 0;
  width: 78%;
  height: 70%;
  inset: 28% auto auto -18%;
  pointer-events: none;
  opacity: .18;
  background-image: linear-gradient(rgba(61,238,225,.28) 1px, transparent 1px), linear-gradient(90deg, rgba(61,238,225,.28) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(ellipse at center, #000 10%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 10%, transparent 70%);
  transform: perspective(700px) rotateX(66deg) rotateZ(-9deg) translateY(12%);
  transform-origin: center;
}

.tx-hero-visual {
  transform: translate3d(0, var(--tx-parallax-y), 0);
  transition: transform .16s linear;
  will-change: transform;
}

.tx-hero-visual__frame::before {
  content: "";
  position: absolute;
  z-index: 3;
  width: 100%;
  height: 18%;
  inset: -24% 0 auto;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(116,255,245,.035), rgba(116,255,245,.18), rgba(116,255,245,.035), transparent);
  filter: blur(1px);
  animation: txHoloScan 7.5s cubic-bezier(.45,0,.55,1) infinite;
}
@keyframes txHoloScan { 0%,8% { transform: translateY(-60%); opacity: 0; } 18% { opacity: .75; } 72% { opacity: .55; } 86%,100% { transform: translateY(750%); opacity: 0; } }

.tx-brand__frame { position: relative; isolation: isolate; }
.tx-brand__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.11) 48%, transparent 66%);
  transform: translateX(-120%);
  transition: transform .8s ease;
  pointer-events: none;
}
.tx-brand:hover .tx-brand__frame::after { transform: translateX(120%); }

.tx-button { position: relative; overflow: hidden; isolation: isolate; }
.tx-button::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 36%;
  height: 220%;
  inset: -60% auto auto -52%;
  background: rgba(255,255,255,.34);
  filter: blur(9px);
  transform: rotate(20deg);
  transition: left .65s ease;
}
.tx-button:hover::after { left: 125%; }
.tx-magnetic { --magnet-x: 0px; --magnet-y: 0px; translate: var(--magnet-x) var(--magnet-y); transition: translate .18s ease, transform .2s ease, box-shadow .2s ease; }

.tx-reveal {
  opacity: 0;
  translate: 0 34px;
  filter: blur(7px);
  transition: opacity .75s ease var(--reveal-delay, 0ms), translate .82s cubic-bezier(.18,.75,.2,1) var(--reveal-delay, 0ms), filter .75s ease var(--reveal-delay, 0ms);
}
.tx-reveal.tx-inview { opacity: 1; translate: 0 0; filter: blur(0); }

.tx-tilt {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  --shine-x: 50%;
  --shine-y: 50%;
  transform-style: preserve-3d;
  will-change: transform;
}
.tx-js .tx-hero-visual__frame.tx-tilt {
  transform: perspective(1400px) rotateX(calc(2deg + var(--tilt-x))) rotateY(calc(5deg + var(--tilt-y))) translateZ(0);
  transition: transform .18s ease-out, box-shadow .45s ease;
}
.tx-js .tx-feature-card.tx-tilt {
  --tilt-lift: 0px;
  transform: perspective(1000px) translateY(var(--tilt-lift)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition: transform .2s ease-out, border-color .35s ease, box-shadow .35s ease;
}
.tx-js .tx-feature-card.tx-tilt:hover { --tilt-lift: -10px; }
.tx-js .tx-feature-card.tx-tilt > * { transform: translateZ(25px); }
.tx-js .tx-feature-card.tx-tilt::before {
  background: radial-gradient(circle at var(--shine-x) var(--shine-y), rgba(146,255,247,.15), transparent 34%), linear-gradient(120deg, rgba(255,255,255,.07), transparent 23%);
}

.tx-js .tx-showcase__scene.tx-tilt {
  transform: perspective(1300px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition: transform .22s ease-out;
}
.tx-js .tx-step.tx-tilt {
  --step-shift: 0px;
  transform: perspective(900px) translateX(var(--step-shift)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition: transform .2s ease-out, border-color .25s ease;
}
.tx-js .tx-step.tx-tilt:hover { --step-shift: -6px; }
.tx-js .tx-cta__box.tx-tilt {
  transform: perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition: transform .22s ease-out, box-shadow .4s ease;
}

.tx-core { animation: txCoreHover 6.8s ease-in-out infinite; }
.tx-layer--one { animation: txLayerFloat 5.4s ease-in-out infinite; }
.tx-layer--two { animation: txLayerFloat 6.2s ease-in-out -2.2s infinite; }
.tx-layer--three { animation: txLayerFloat 5.8s ease-in-out -3.4s infinite; }
.tx-orbit::after { animation: txNodePulse 2.1s ease-in-out infinite; }
@keyframes txCoreHover {
  0%,100% { translate: 0 0; filter: drop-shadow(0 0 0 rgba(24,213,202,0)); }
  50% { translate: 0 -13px; filter: drop-shadow(0 18px 24px rgba(24,213,202,.13)); }
}
@keyframes txLayerFloat { 0%,100% { translate: 0 0; } 50% { translate: 0 -12px; } }
@keyframes txNodePulse { 0%,100% { scale: .75; opacity: .55; } 50% { scale: 1.35; opacity: 1; } }

.tx-feature-card__icon,
.tx-trust__icon,
.tx-step__num {
  animation: txIconGlow 4.5s ease-in-out infinite;
}
@keyframes txIconGlow {
  0%,100% { box-shadow: inset 0 1px rgba(255,255,255,.1), 0 15px 34px rgba(0,0,0,.22), 0 0 0 rgba(24,213,202,0); }
  50% { box-shadow: inset 0 1px rgba(255,255,255,.15), 0 17px 38px rgba(0,0,0,.3), 0 0 27px rgba(24,213,202,.12); }
}

@media (max-width: 680px) {
  .tx-hero h1 { font-size: 42px; font-weight: 600; letter-spacing: -1.5px; }
  .tx-pointer-light { display: none; }
  .tx-depth-canvas { opacity: .52; }
  .tx-hero-gridfx { width: 130%; left: -42%; opacity: .12; }
  .tx-hero-visual { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .tx-hero-visual__frame::before,
  .tx-core,
  .tx-layer,
  .tx-orbit::after,
  .tx-feature-card__icon,
  .tx-trust__icon,
  .tx-step__num { animation: none !important; }
  .tx-reveal { opacity: 1 !important; translate: 0 !important; filter: none !important; }
  .tx-pointer-light, .tx-depth-canvas { display: none !important; }
}
