.site-header{
  position:sticky;
  top:0;
  z-index:50;
  padding:.7rem 0;
  backdrop-filter:blur(18px);
  background:rgba(10,16,40,.96);
  border-bottom:1px solid rgba(143,173,221,.1);
}

.site-header.is-scrolled{
  background:rgba(8,14,34,.985);
  box-shadow:0 12px 30px rgba(2,8,22,.26);
}

.site-header::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(66,99,255,.24), rgba(23,203,255,.16), transparent);
  pointer-events:none;
}

.site-header__bar{
  position:relative;
  display:flex;
  align-items:center;
  gap:1.5rem;
  justify-content:space-between;
}

.brand-mark{
  display:inline-flex;
  align-items:center;
  min-width:0;
  max-width:min(220px, 42vw);
}

.brand-mark__image{
  display:block;
  width:100%;
  height:auto;
  max-height:46px;
  object-fit:contain;
}

.site-nav{
  display:flex;
  align-items:center;
  gap:1.25rem;
}

.site-nav__list{
  display:flex;
  align-items:center;
  gap:1.75rem;
  padding:0;
  margin:0;
  list-style:none;
}

.site-nav__link{
  position:relative;
  padding:.35rem 0;
  color:#dce5f3;
  font-size:.875rem;
  font-weight:500;
  letter-spacing:.002em;
  transition:color .28s ease, opacity .28s ease;
}

.site-nav__item{
  position:relative;
}

.site-nav__item--has-dropdown{
  position:static;
}

@media (min-width:944px){
  .site-header__bar{
    display:grid;
    grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);
    column-gap:2rem;
    width:min(calc(100% - 3rem), 1320px);
  }

  .brand-mark{
    grid-column:1;
    justify-self:start;
  }

  .site-nav{
    display:contents;
  }

  .site-nav__list{
    grid-column:2;
    justify-self:center;
  }

  .site-nav__cta{
    grid-column:3;
    justify-self:end;
  }
}

.site-nav__link-group{
  display:flex;
  align-items:center;
  gap:.18rem;
}

.site-nav__dropdown-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1rem;
  height:1rem;
  padding:0;
  border:0;
  background:transparent;
  color:#f3f7fd;
  line-height:1;
  transform-origin:center;
  transition:transform .62s cubic-bezier(.19,1,.22,1), color .32s ease, opacity .32s ease;
}

.site-nav__chevron{
  width:.74rem;
  height:.5rem;
  overflow:visible;
}

.site-nav__chevron path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.site-nav__item--has-dropdown.is-open .site-nav__dropdown-toggle{
  color:#f5f8ff;
}

.site-nav__item--has-dropdown.is-open .site-nav__dropdown-toggle{
  transform:translateY(1px) rotate(180deg);
}

/* ============================================================
   Mega menú · mismo lenguaje que las páginas:
   navy profundo, etiquetas IBM Plex Mono, azul #2337e4
   y señal naranja como acento clave.
   ============================================================ */

.site-subnav{
  position:absolute;
  top:calc(100% + 1.1rem);
  left:50%;
  z-index:35;
  display:grid;
  gap:.55rem;
  width:min(320px, 42vw);
  padding:1rem;
  border:1px solid rgba(146,166,255,.14);
  border-radius:18px;
  background:linear-gradient(165deg, #0d1430 0%, #090e20 100%);
  box-shadow:0 30px 70px rgba(3,7,20,.5);
  opacity:0;
  visibility:hidden;
  transform:translateX(-50%) translateY(10px);
  transition:
    opacity .38s cubic-bezier(.19,1,.22,1),
    transform .5s cubic-bezier(.19,1,.22,1),
    visibility .38s ease;
}

.site-subnav--mega{
  grid-template-columns:minmax(230px,.8fr) minmax(300px,1.05fr) minmax(300px,.95fr);
  gap:0;
  width:min(1080px, calc(100vw - 4rem));
  padding:1.4rem 1.5rem;
}

.site-subnav--mega::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(124,139,255,.45), rgba(232,80,10,.35), transparent);
  pointer-events:none;
}

.site-nav__item--has-dropdown.is-open .site-subnav{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}

/* ---------- Columna: índice de ítems ---------- */

.site-subnav__menu{
  display:grid;
  gap:.9rem;
  align-content:start;
  min-width:0;
  padding-right:1.4rem;
  border-right:1px solid rgba(146,166,255,.12);
}

.site-subnav__menu-header{
  display:grid;
  gap:.3rem;
}

.site-subnav__menu-header p{
  margin:0;
  color:#7287a9;
  font-size:.82rem;
}

.site-subnav__eyebrow{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#8fa2ff;
  font-family:"IBM Plex Mono","Consolas",monospace;
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.site-subnav__service-list{
  display:grid;
  gap:.1rem;
}

.site-subnav__service{
  position:relative;
  display:grid;
  gap:.15rem;
  padding:.6rem .75rem .6rem 1.35rem;
  border-radius:10px;
  transition:background-color .22s ease, transform .22s ease;
}

.site-subnav__service::before{
  content:"";
  position:absolute;
  top:.95rem;
  left:.45rem;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(143,162,255,.35);
  transition:background-color .22s ease, box-shadow .22s ease;
}

.site-subnav__service strong{
  color:#dbe4f8;
  font-size:.93rem;
  font-weight:500;
  line-height:1.2;
  transition:color .22s ease;
}

.site-subnav__service small{
  color:#7287a9;
  font-size:.75rem;
  transition:color .22s ease;
}

.site-subnav__service:hover,
.site-subnav__service:focus-visible,
.site-subnav__service.is-current{
  background:rgba(35,55,228,.14);
  transform:translateX(3px);
}

.site-subnav__service:hover::before,
.site-subnav__service:focus-visible::before,
.site-subnav__service.is-current::before{
  background:#2337e4;
  box-shadow:0 0 0 4px rgba(35,55,228,.22);
}

.site-subnav__service:hover strong,
.site-subnav__service:focus-visible strong,
.site-subnav__service.is-current strong{
  color:#ffffff;
}

.site-subnav__service:hover small,
.site-subnav__service:focus-visible small,
.site-subnav__service.is-current small{
  color:#9db1e8;
}

.site-subnav__overview{
  display:grid;
  gap:.15rem;
  margin-top:.4rem;
  padding:.85rem .75rem 0;
  border-top:1px solid rgba(146,166,255,.12);
}

.site-subnav__overview strong{
  color:#ffffff;
  font-size:.92rem;
  font-weight:500;
}

.site-subnav__overview strong::after{
  content:"→";
  margin-left:.45rem;
  color:#8fa2ff;
}

.site-subnav__overview span{
  color:#7287a9;
  font-size:.78rem;
}

/* ---------- Columna: detalle del ítem activo ---------- */

.site-subnav__spotlight{
  min-width:0;
  padding:0 1.4rem;
  border-right:1px solid rgba(146,166,255,.12);
}

.site-subnav__detail{
  display:none;
}

.site-subnav__detail.is-current{
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto auto;
  gap:.8rem;
  min-height:100%;
}

.site-subnav__detail h3{
  max-width:13ch;
  font-family:"Bricolage Grotesque","Instrument Sans",sans-serif;
  font-size:1.75rem;
  font-weight:500;
  line-height:1.04;
  letter-spacing:-.02em;
  color:#ffffff;
}

.site-subnav__detail p{
  margin:0;
  max-width:44ch;
  color:#a9b6d8;
  font-size:.9rem;
  line-height:1.65;
}

.site-subnav__cta{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  width:max-content;
  font-family:"IBM Plex Mono","Consolas",monospace;
  font-size:.74rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#8fa2ff;
  transition:gap .22s ease, color .22s ease;
}

.site-subnav__cta:hover,
.site-subnav__cta:focus-visible{
  gap:.9rem;
  color:#ffffff;
}

.site-subnav__tags{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  align-self:end;
  padding-top:.4rem;
}

.site-subnav__tags span{
  padding:.34rem .65rem;
  border:1px solid rgba(146,166,255,.2);
  border-radius:8px;
  font-family:"IBM Plex Mono","Consolas",monospace;
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#b9c6e8;
}

/* ---------- Columna: visual ---------- */

.site-subnav__visuals{
  min-width:0;
  padding-left:1.4rem;
}

.site-subnav__visual{
  display:none;
}

.site-subnav__visual.is-current{
  display:grid;
}

.site-subnav__visual-shell{
  position:relative;
  display:grid;
  gap:1rem;
  align-content:start;
  min-height:100%;
  padding:1.15rem;
  border:1px solid rgba(146,166,255,.14);
  border-radius:14px;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 12%, rgba(35,55,228,.34), transparent 48%),
    linear-gradient(160deg, #111a3e, #0b1128);
}

.site-subnav__visual-shell::after{
  content:"";
  position:absolute;
  inset:auto -12% -22% auto;
  width:56%;
  height:56%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(232,80,10,.16), transparent 70%);
  pointer-events:none;
}

.site-subnav__visual-eyebrow{
  font-family:"IBM Plex Mono","Consolas",monospace;
  font-size:.64rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8fa2ff;
}

.site-subnav__visual-shell > strong{
  max-width:17ch;
  font-family:"Bricolage Grotesque","Instrument Sans",sans-serif;
  font-size:1.3rem;
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.015em;
  color:#ffffff;
}

.site-subnav__visual-mock{
  position:relative;
  display:grid;
  gap:.6rem;
  padding:.95rem;
  border:1px solid rgba(146,166,255,.16);
  border-radius:12px;
  background:rgba(6,10,26,.5);
  overflow:hidden;
}

.site-subnav__visual-mock::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(124,139,255,.8),rgba(232,80,10,.7),transparent);
  opacity:0;
}

.site-subnav__visual-line{
  display:block;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg, #2337e4, #7c8bff);
}

.site-subnav__visual-line--short{width:34%}
.site-subnav__visual-line--medium{width:56%}
.site-subnav__visual-line--long{width:82%}

.site-subnav__visual-bars{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:end;
  gap:.45rem;
  min-height:96px;
  margin-top:.3rem;
}

.site-subnav__visual-bars span{
  border-radius:10px 10px 6px 6px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(124,139,255,.66));
  transform-origin:center bottom;
}

.site-subnav__visual-bars span:nth-child(1){height:42%}
.site-subnav__visual-bars span:nth-child(2){height:82%}
.site-subnav__visual-bars span:nth-child(3){height:58%}
.site-subnav__visual-bars span:nth-child(4){height:94%;background:linear-gradient(180deg, #ff8a4d, #e8500a)}

/* Vista operativa compacta: comparte los escenarios de las demos de página. */
.td-mini-demo{
  --mini-accent:#2337e4;
  --mini-glow:rgba(35,55,228,.2);
  --mini-signal:#e8500a;

  position:relative;
  isolation:isolate;
  display:grid;
  gap:.58rem;
  min-height:188px;
  padding:.72rem;
  overflow:hidden;
  border:1px solid rgba(146,166,255,.16);
  border-radius:12px;
  background:
    linear-gradient(rgba(143,162,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,162,255,.035) 1px, transparent 1px),
    rgba(6,10,26,.58);
  background-size:18px 18px;
}

.td-mini-demo::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-35% -20% auto 34%;
  height:100%;
  border-radius:50%;
  background:radial-gradient(circle, var(--mini-glow), transparent 68%);
  pointer-events:none;
}

.td-mini-demo::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--mini-accent), var(--mini-signal), transparent);
  opacity:0;
  pointer-events:none;
}

.td-mini-demo--automatizacion{
  --mini-accent:#19b7cc;
  --mini-glow:rgba(25,183,204,.18);
}

.td-mini-demo--ia-aplicada{
  --mini-accent:#806df0;
  --mini-glow:rgba(128,109,240,.2);
}

.td-mini-demo--integraciones{
  --mini-accent:#35a4d4;
  --mini-glow:rgba(53,164,212,.18);
}

.td-mini-demo--facturacion{
  --mini-accent:#f28545;
  --mini-glow:rgba(242,133,69,.18);
}

.td-mini-demo--apps-moviles{
  --mini-accent:#5f8cff;
  --mini-glow:rgba(95,140,255,.2);
}

.td-mini-demo__top,
.td-mini-demo__footer{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  min-width:0;
}

.td-mini-demo__top{
  padding-bottom:.48rem;
  border-bottom:1px solid rgba(146,166,255,.1);
}

.td-mini-demo__live{
  display:flex;
  align-items:center;
  min-width:0;
  overflow:hidden;
  color:#b9c6e8;
  font-family:"IBM Plex Mono","Consolas",monospace;
  font-size:.49rem;
  letter-spacing:.08em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.td-mini-demo__live i{
  flex:0 0 auto;
  width:5px;
  height:5px;
  margin-right:.35rem;
  border-radius:50%;
  background:#2caf76;
  box-shadow:0 0 0 3px rgba(44,175,118,.12);
}

.td-mini-demo__top code{
  flex:0 0 auto;
  color:var(--mini-accent);
  font-family:"IBM Plex Mono","Consolas",monospace;
  font-size:.48rem;
  letter-spacing:.08em;
}

.td-mini-demo__route{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);
  gap:.38rem;
  align-items:stretch;
}

.td-mini-demo__card{
  position:relative;
  display:grid;
  gap:.26rem;
  align-content:center;
  min-width:0;
  min-height:64px;
  padding:.55rem;
  border:1px solid rgba(146,166,255,.14);
  border-top:2px solid var(--mini-accent);
  border-radius:9px;
  background:rgba(255,255,255,.035);
}

.td-mini-demo__card small{
  overflow:hidden;
  color:#7186b5;
  font-family:"IBM Plex Mono","Consolas",monospace;
  font-size:.43rem;
  letter-spacing:.09em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.td-mini-demo__card strong,
.td-mini-demo__steps strong{
  max-width:none;
  color:#f4f7ff;
  font-family:"Instrument Sans",sans-serif;
  font-weight:500;
}

.td-mini-demo__card strong{
  font-size:.64rem;
  line-height:1.2;
}

.td-mini-demo__source > i{
  position:absolute;
  top:.45rem;
  right:.45rem;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--mini-accent);
  box-shadow:0 0 0 3px var(--mini-glow);
}

.td-mini-demo__result{
  padding-right:1.55rem;
  border-top-color:var(--mini-signal);
  background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(232,80,10,.055));
}

.td-mini-demo__result > i{
  position:absolute;
  top:50%;
  right:.42rem;
  display:grid;
  place-items:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--mini-signal);
  color:#ffffff;
  font-family:"IBM Plex Mono","Consolas",monospace;
  font-size:.55rem;
  font-style:normal;
  transform:translateY(-50%);
}

.td-mini-demo__bridge{
  position:relative;
  min-width:0;
}

.td-mini-demo__bridge span{
  position:absolute;
  top:50%;
  right:0;
  left:0;
  height:1px;
  background:linear-gradient(90deg, var(--mini-accent), rgba(143,162,255,.2), var(--mini-signal));
}

.td-mini-demo__bridge i{
  position:absolute;
  top:calc(50% - 3px);
  left:0;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 0 0 3px var(--mini-glow), 0 0 12px var(--mini-accent);
}

.td-mini-demo__steps{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.32rem;
}

.td-mini-demo__steps > span{
  position:relative;
  display:grid;
  gap:.16rem;
  min-width:0;
  min-height:42px;
  padding:.38rem .42rem .4rem;
  overflow:hidden;
  border:1px solid rgba(146,166,255,.1);
  border-radius:7px;
  background:rgba(255,255,255,.025);
}

.td-mini-demo__steps small{
  color:var(--mini-accent);
  font-family:"IBM Plex Mono","Consolas",monospace;
  font-size:.43rem;
  letter-spacing:.08em;
}

.td-mini-demo__steps strong{
  overflow:hidden;
  font-size:.55rem;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.td-mini-demo__steps i{
  position:absolute;
  top:.42rem;
  right:.4rem;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#2caf76;
  box-shadow:0 0 0 2px rgba(44,175,118,.1);
}

.td-mini-demo__footer code{
  min-width:0;
  overflow:hidden;
  color:#8f9fc6;
  font-family:"IBM Plex Mono","Consolas",monospace;
  font-size:.47rem;
  letter-spacing:.04em;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.td-mini-demo__footer > span{
  flex:0 0 54px;
  height:2px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(143,162,255,.12);
}

.td-mini-demo__footer > span i{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--mini-accent),var(--mini-signal));
  transform-origin:left;
}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .td-mini-demo::after{
  animation:tdMiniSweep 4.8s ease-in-out infinite;
}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .td-mini-demo__live i,
.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .td-mini-demo__source > i{
  animation:tdMiniPulse 1.8s ease-in-out infinite;
}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .td-mini-demo__bridge i{
  animation:tdMiniPacket 1.65s cubic-bezier(.4,0,.2,1) infinite;
}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .td-mini-demo__steps > span{
  animation:tdMiniStep 4.8s ease-in-out infinite;
}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .td-mini-demo__steps > span:nth-child(2){animation-delay:.55s}
.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .td-mini-demo__steps > span:nth-child(3){animation-delay:1.1s}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .td-mini-demo__result > i{
  animation:tdMiniCheck 4.8s ease-in-out 2.2s infinite;
}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .td-mini-demo__footer > span i{
  animation:tdMiniProgress 4.8s cubic-bezier(.4,0,.2,1) infinite;
}

.site-subnav__visual-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.site-subnav__visual-tags span{
  padding:.34rem .65rem;
  border:1px solid rgba(146,166,255,.18);
  border-radius:999px;
  font-family:"IBM Plex Mono","Consolas",monospace;
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#b9c6e8;
  background:rgba(255,255,255,.03);
}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .site-subnav__visual-line{
  animation:megaLineLoad .7s cubic-bezier(.22,1,.36,1) both;
}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .site-subnav__visual-line--medium{animation-delay:.08s}
.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .site-subnav__visual-line--long{animation-delay:.16s}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .site-subnav__visual-bars span{
  animation:megaBarRise .65s cubic-bezier(.22,1,.36,1) both;
}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .site-subnav__visual-bars span:nth-child(2){animation-delay:.08s}
.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .site-subnav__visual-bars span:nth-child(3){animation-delay:.16s}
.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .site-subnav__visual-bars span:nth-child(4){animation-delay:.24s}

.site-nav__item--has-dropdown.is-open .site-subnav__visual.is-current .site-subnav__visual-mock::after{
  animation:megaScanner 2.8s ease-in-out .45s infinite;
}

@keyframes megaLineLoad{
  from{opacity:0;transform:scaleX(.25)}
  to{opacity:1;transform:scaleX(1)}
}

@keyframes megaBarRise{
  from{opacity:.2;transform:scaleY(.12)}
  to{opacity:1;transform:scaleY(1)}
}

@keyframes megaScanner{
  0%{opacity:0;transform:translateY(0)}
  18%{opacity:.8}
  70%{opacity:.15}
  100%{opacity:0;transform:translateY(118px)}
}

@keyframes tdMiniSweep{
  0%{opacity:0;transform:translateY(0)}
  12%{opacity:.85}
  72%{opacity:.12}
  100%{opacity:0;transform:translateY(188px)}
}

@keyframes tdMiniPulse{
  0%,100%{opacity:.55;transform:scale(.82)}
  48%{opacity:1;transform:scale(1.16)}
}

@keyframes tdMiniPacket{
  0%{opacity:0;transform:translateX(0)}
  18%{opacity:1}
  82%{opacity:1}
  100%{opacity:0;transform:translateX(18px)}
}

@keyframes tdMiniStep{
  0%,8%,100%{border-color:rgba(146,166,255,.1);background:rgba(255,255,255,.025);transform:translateY(0)}
  16%,38%{border-color:var(--mini-accent);background:var(--mini-glow);transform:translateY(-1px)}
  48%{border-color:rgba(146,166,255,.1);background:rgba(255,255,255,.025);transform:translateY(0)}
}

@keyframes tdMiniCheck{
  0%,55%,100%{box-shadow:0 0 0 0 rgba(232,80,10,0);transform:translateY(-50%) scale(.88)}
  68%,82%{box-shadow:0 0 0 5px rgba(232,80,10,.14);transform:translateY(-50%) scale(1)}
}

@keyframes tdMiniProgress{
  0%{transform:scaleX(.08)}
  68%,84%{transform:scaleX(1)}
  100%{transform:scaleX(.08)}
}

@media (prefers-reduced-motion:reduce){
  .site-subnav__visual-line,
  .site-subnav__visual-bars span,
  .site-subnav__visual-mock::after,
  .td-mini-demo,
  .td-mini-demo::after,
  .td-mini-demo *,
  .td-mini-demo *::before,
  .td-mini-demo *::after{
    animation:none!important;
    transition:none!important;
  }
}

.site-nav__link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-.32rem;
  height:1px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .34s cubic-bezier(.22,1,.36,1), opacity .28s ease;
}

.site-nav__link:hover::after,
.site-nav__link:focus-visible::after,
.site-nav__link.is-active::after{
  transform:scaleX(1);
}

.site-nav__link:hover,
.site-nav__link:focus-visible,
.site-nav__link.is-active{
  color:#ffffff;
}

.site-nav__cta{
  min-height:2.7rem;
  padding-inline:1.1rem;
  border-radius:9px;
  font-size:.88rem;
  background:#2337e4;
  box-shadow:0 12px 26px rgba(35,55,228,.3);
}

.site-nav__cta:hover,
.site-nav__cta:focus-visible{
  background:#17227f;
  box-shadow:0 14px 30px rgba(23,34,127,.34);
}

.site-header__toggle{
  display:none;
  width:3rem;
  height:3rem;
  padding:.55rem;
  border:1px solid rgba(143,173,221,.16);
  border-radius:14px;
  background:rgba(255,255,255,.04);
}

.site-header__toggle span:not(.sr-only){
  display:block;
  width:100%;
  height:2px;
  margin:.26rem 0;
  background:#f5f7fb;
}

@media (max-width: 943px){
  .site-header{
    padding:.8rem 0;
  }

  .brand-mark{
    max-width:min(270px, 62vw);
  }

  .brand-mark__image{
    max-height:46px;
  }

  .site-header__toggle{
    display:inline-block;
  }

  .site-nav{
    position:absolute;
    top:calc(100% + .8rem);
    right:1rem;
    left:1rem;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:1.25rem;
    border:1px solid rgba(143,173,221,.16);
    border-radius:24px;
    background:rgba(8,16,31,.97);
    box-shadow:0 24px 52px rgba(2,10,20,.38);
    max-height:calc(100vh - 6.5rem);
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  .site-nav.is-open{
    display:flex;
  }

  .site-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:.2rem;
    width:100%;
  }

  .site-nav__link{
    display:block;
    width:100%;
    padding:.75rem 0;
    font-size:.95rem;
  }

  .site-nav__link::after{
    right:auto;
    bottom:.35rem;
    width:2rem;
    transform-origin:left;
  }

  .site-nav__cta{
    width:100%;
  }

  .site-nav__item,
  .site-nav__item--has-dropdown{
    width:100%;
  }

  .site-nav__link-group{
    width:100%;
    justify-content:space-between;
  }

  .site-subnav{
    position:static;
    left:auto;
    width:100%;
    margin-top:0;
    max-height:0;
    padding:0 1rem;
    transform:translateY(-6px);
    opacity:0;
    visibility:hidden;
    overflow:hidden;
    box-shadow:none;
    transition:
      max-height .42s cubic-bezier(.22,1,.36,1),
      opacity .32s ease,
      transform .38s cubic-bezier(.22,1,.36,1),
      padding .32s ease,
      visibility .32s ease;
  }

  .site-subnav--mega{
    display:block;
    padding:0 1rem;
  }

  .site-subnav__menu{
    padding-right:0;
    border-right:0;
  }

  .site-subnav__spotlight,
  .site-subnav__visuals{
    display:none;
  }

  .site-nav__item--has-dropdown.is-open .site-subnav{
    max-height:640px;
    margin-top:.65rem;
    padding:1rem;
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
}
